From nobody Mon Mar 9 02:40:19 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTh7z0TmCz6VDFS for ; Mon, 09 Mar 2026 02:40:31 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic315-55.consmr.mail.gq1.yahoo.com (sonic315-55.consmr.mail.gq1.yahoo.com [98.137.65.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 4fTh7y4Lgjz3y07 for ; Mon, 09 Mar 2026 02:40:30 +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=1773024023; bh=Tt6nqjxOivle9WK4jZyN8E6TekqxuLNNcQA4WxNtrIc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=oPC5eYnZAF19u/xw/Bsc9XGRk0Qh2J/IG+QeAt/uaOFqED3uwlErveosQxuWsbR6p9jTYTqsQzy+qaBZXFKEZwPz2er/3BTXQ04go+3ZSb7MkTTuKtemNDxjGfhDfvLwApm/UJRvzeF4hQk3jScvu4DaAL6D+B26g/rEwdr6uFkVngQWY+vMRRzFhmVhh6Zp2qgXcvIU5lf/pb5OWZrNUnmyojlW/7obTkX6xDlIpVfRMVVQrf7sOrUO2ineFSnYeeAVg68Jmuq/umX7Wy8xwlKoSUz/9fVza8Si53dpzJjA+xXZpfxUA97kHUAYlq2yv188glpc1NRvRfRdPdIpzg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1773024023; bh=/oxWFkfCwBrour5Y+YH/jrJrx7Pbvx4938YH3iD2cNw=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=XsXrm4s6e7lKKsb9kn9UP6nbnsSp1xs11Pgi+4/w88MgyP8VyTV/R2LjcUc7VzMv83QauPW3TPwDpHanfTn9fN0z/ExWPgW88BArUn4LuUci5goEgrTpvu9Ezydua+xJDBxxk6iq+pa3rqkqoecQPq4SEFs/2yWgLwtoxWQbaRvmkWPkKd3PB/wXysCn0oc0aiPTFvYX8gzE7F0Gxb5SM8BAFPysfrhLKZLCgvB9Z6j/ni4iD7F09jRE2amEKv6ryK6C+uMBvrSCyzuJMNYWH8EBiU+9Q+vEf+tr5I6VkkVUu5gymFCPPoGq5ldBow1mSXY/yf8sYHiDzG/dFHqyhQ== X-YMail-OSG: OFhbhOkVM1lU0H3IINliboGAz_RlvVm5rP4XqBfQvRt9VR6v1ELKI2KO0F9i3Wy VgGQkr9C5nbDCow4R2np.L231LCAYGd3pfewDKtKkaOggJjOFw3HW8vhpzCL0YLFQVfnjXkcj9EY bpl4aHM6zUXMBtdFUDE.z5DDotWk09ibhfiP1OD6nkoQqQdQCi2dLRlLxntuQR35KX0prvG2n340 19t33KxxgqhflHmQfxisaBNJc00nd.ndlXiaPNwCj63q1UzC0BlUjwjJwwxUvSu7cL0OvNjT5P9Y T7hcrApSRssvVX1bUWEumaF5Tw07qbAie.cwy7xhrYTuiE5maXyhkrudEvkgtEyZjTCo.3BrNx9g 95OFg1fMHgR7pwMSD3KDmoxJdFBpAWzzF6wE6Z2DdP8vStv5QhRHJEMtz.y9wUratyiWeUzpLwh2 RoMKkK4DD6_cIHNddAfmdyDH1B4SwK4M7EwJ.JH_xWTxgxG2Jpqsl9N4we4Bu67sYxf.5g8Mj.dL JkxdkWEs.dNjmr5bJA4RmePP.0unwByZOATumMtBu.D.lxLbZx_HxgWRy0t6mwabVrslZcJFrA0d 9gAeyQRs0bb4BLKRs.WXHBCHjrUo2D0_BXoINGLhLqHnlr3z_7o7LnjiVLrzhboGw1eozLsysUdw 7DzxmEuZSBX.SmLyu.TqoO_dgltHIrnEJkfIqwhdLpw0XmRuqDxE.WbjhuTc17.0SD2DMoFOOwvq QakQWMzIHG9cPN4AWHX.bYa7ZlFp7Dy5XpuWu_LMXX1RJz.1Am8D1JFgYy_mTQBlazUMSweCfulK NLeyzBmUx69mhs005v0IveZ50xpX7CuWDUt6cLktBybtc8ciTjOu2KlW3HgVzoyuB99TnF3ytx1h 4aUvBU3jSugWobWqZNQAv7_sk8Dt_yis2EzFEDoyXiK2S8.LlHElhAJbXHOAcWg4Ii4xYjBWbYaA lJ.8XgX0K9GB_h_Qxtsw5H.YbPt6CVG01Kfyl.ijGUa81xsh.mT943mXujacnCwp5yZUWbi5S2Fz 5rq37hG4tuz8yIvRTIAORBRCoXPNtSyFLNJU8dk8qucvOM9SSQln4TV8N6n7kFIc9QmAuUSMB_30 mEOXNIB0PNeW5E9DfdfI89fn5yGjt5XWGF25fR8AfJuAa57BOe4vtudvwzbEHdHxGkFS7fz2LSf5 hq31TRgkMtMssWqIJVls3qs.LjLomQpn52sVojJ5FibzGiMSe0ftYUCs.VT5fj67lSoAIeaSbF92 L_obceX20PSfQF1Ot8s8gTL5KWIZNfjtXR7PyL9dFhDqqWXFiPr85givt94FNx6o2icY9WorBrIt 7BUaaJ6XIp7haKCLOzsV1D_xkWQwc0nQPLTE8zJTRGBtse6lpNZa.B5FaIsrit5cdwPtTNEATUlG N2LYbpXAvHQ9t7hEB1XGASNLDtRWD_Ii1MTZ7KcgBBflRH5ikKYrRKDzJpitVV89zlry2pa0OTTK dKfaKb1haamKjjZ3mcGDfj7hX0nZOsBztdJLu.IGbjNWCLAJP8hwVlQQEF9PT.IVOE6.hwuiAd4S 9gjKlWnJVRrK4N_a8W6rvMPlUzSyxuoHbmVdMgYUESQt6LWK1mGveaY8OpU0LqO5LDBVnEG7qev_ .GeaBXOSo.PdJRkbhk6Z_avBspaS_vlnAwuMrVYq2xosCB9XgG1_PKSEpaQOk5DuaUjl.khfqWaV sEGr6Ggtru9UX2UgiEBSSoSH5DLv9c4bikJn875MoY0YpsllVZ0a.vWkiYoedS_JJw5MIjCDwIYC TGJRNml4GK_3Bhn7oUPfZUZv68SqgwQ_MquakyTeieu.7YPLtAIXo6rDKdCocfvBtlWhexa4G.Fx kHQxKLzBrHP1mNipSRM4e5B_VkPB9bHsNSAe7SJUS9byMwQZE7Dk3o4uVUsjNfMl_AuksyXd00xw tsK6kMDyl8s.DHJAv462Y6dUP0brKYmNAoO9hM3wujj1E5l3lcjJN9biX7YT9ZBtIriSHcIQis_W ErLLVibrLpEan.80KNv8ZZ2RqnhrsURIGOZaU5xXJlK39n6bb9IYt_MpE_hx1lrjeiLplJgDm5sA AAWPrOq0dg2LsJmuhfX8zkSyenu.yCw34HbsL.L47q8SJP4ruRNFLV5Hb4ycKb9IYJhMZi6gHQg9 _.N625koGMJ6G7aSTl3YZ2FB465QYAxQ8EZDzDQCwPZfkX3ubtRlq3R2hKCGXT2CJGD6nghPt13f TTjNu5wgy3n3PSNGAjvEjiBqX0jJmMPfNB7OG1MXpHU2JarxQ_4OksA55lm9ND4qupjQ09iWUQvd .Umz_0i4JTIXYdccPnBET5xLCP0u8d0E3pdCHz1Dfe5SIE0MH2AnZ8_WpfXY- X-Sonic-MF: X-Sonic-ID: 46eff3a9-a793-4a2a-84d3-852b44ef0bae Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.gq1.yahoo.com with HTTP; Mon, 9 Mar 2026 02:40:23 +0000 Received: by hermes--production-gq1-6dfcf9f8b-zfjdz (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID fd2e4b550aa92039ffef18bbe5b36bf7; Mon, 09 Mar 2026 02:40:20 +0000 (UTC) Message-ID: <15dd35da-4c7c-482b-a212-8eaf761b23ca@yahoo.com> Date: Sun, 8 Mar 2026 19:40:19 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: c499ad6f997c - main - virtio: Use bus_dma for ring and indirect buffer allocations [Really: kernel: vtnet0: watchdog timeout on queue xx] To: "Herbert J. Skuhra" , Andrew Turner Cc: dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, freebsd-current , Michael Butler , Philip Paeps References: <69a71c75.40215.43f39fc6@gitrepo.freebsd.org> <87ecludxuh.wl-herbert@gojira.at> Content-Language: en-US From: Mark Millard In-Reply-To: <87ecludxuh.wl-herbert@gojira.at> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25198 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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: 4fTh7y4Lgjz3y07 X-Spamd-Bar: ---- On 3/8/26 10:39, Herbert J. Skuhra wrote: > On Tue, 03 Mar 2026 18:37:57 +0100, Andrew Turner wrote: >> >> The branch main has been updated by andrew: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 >> >> commit c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 >> Author: Sarah Walker >> AuthorDate: 2026-03-03 16:08:11 +0000 >> Commit: Andrew Turner >> CommitDate: 2026-03-03 16:29:15 +0000 >> >> virtio: Use bus_dma for ring and indirect buffer allocations >> >> While the majority of virtio platforms will be fully coherent, some may >> require cache maintenance or other specific device memory handling (eg for >> secure partitioning). Using bus_dma allows for these usecases. >> >> The virtio buffers are marked as coherent; this should ensure that sync >> calls are no-ops in the common cases. >> >> Reviewed by: andrew >> Sponsored by: Arm Ltd >> Differential Revision: https://reviews.freebsd.org/D54959 >> --- >> sys/dev/virtio/virtio_ring.h | 27 ++++-- >> sys/dev/virtio/virtqueue.c | 216 +++++++++++++++++++++++++++++++++++++------ >> 2 files changed, 209 insertions(+), 34 deletions(-) > > After this change I see a lot of "kernel: vtnet0: watchdog timeout on > queue xx" errors on amd64 (arm64 seems to be OK). See below about other reports of the messages. > > Reverting this commit resolves the issue. > > freebsd-current has the following notes, implicitly referencing official builders doing official builds: QUOTE On 3/8/26 17:10, Philip Paeps wrote: > On 2026-03-08 07:10:01 (+0800), Michael Butler wrote: >> Is anyone else seeing timeouts on virtual interfaces? e.g. >> >> Mar 7 15:00:27 george kernel: vtnet0: watchdog timeout on queue 0 >> Mar 7 15:00:45 george kernel: vtnet0: watchdog timeout on queue 0 > > I started seeing these on today's build too. > > It seems to happen more or less randomly. I can't point at anything > specific that might be triggering it. > > Philip > > END QUOTE -- === Mark Millard marklmi at yahoo.com From nobody Mon Mar 9 05:50:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTmMb4wzSz6VCxs for ; Mon, 09 Mar 2026 05:50: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTmMb46wtz3GPM for ; Mon, 09 Mar 2026 05:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773035451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOFP7UECkn1LNM0JH1d2LrhY3sbQW/Gipe6w3TRH3sg=; b=FM2ukE1hzRTApfd0b/Lk1EcOZ280DU/dinFHTuhgSsuuYf1cwc8OiVUJbzO7p383ALC31g WjTWkKOANyQKSg/ZwtsVDJ0HkRqI4E7LHrw/Vui010xMQ51YEKW7fI0Z+LmkK1ED7raM8Y SOaRblzLgyitzX5+htzLjV0fdYh2abSqlHnnIO5OAvhqpJiGtaDugBWPzsNf0GTi87Im6o ZY9yflE82Qh3NPr9uKUQVq5oVPCv5LDSj5yqiIhMJpTW7TL/zOfuR/Wjj2Obo0wwNtcFrW xrUnMvUBarZAKWuecKgn7xFOJKsMBBGi9167WFF5DdzX7lMdEBzgXW5AkLuvSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773035451; a=rsa-sha256; cv=none; b=ShbA+5VOzxN1RKD2SVdULlRcb2IeU8P7Zj8lkC4BOlHJUqvVFlH0T+dyIr+JEdnbJrVL7x Mkt6EqJjEhZVueSUfu82nAaM52pQw4gxG9t+PdGfYBHCjVWhYXnMvDIyuoDCykJQ4n6Q0/ UFDesMy4rggvlBEq2HabIRCTyYitnQfwT3wv89OYP8VE5myDBi60zzbtDfWrLsthVVBqVl AtupnpwNOanycMWzKDzyNe4ClBoJQdBWlQY2HLjFv78pg2pWSZMJA2ipJcwyYytZVoTB92 +PhMTXzM4/safla/U0JcVFqEITA96/anBqOrCXb9z18cSL/ERwOzwWMkANpTQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773035451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOFP7UECkn1LNM0JH1d2LrhY3sbQW/Gipe6w3TRH3sg=; b=y1nKXvh7HUhNvRo01Fvny1SigM4PwM+yVgT8vxkKqbx1a9QoarWsy1s2tvPUr/6gvAPrAc jeYMnx/2tI9AYeefDcU06nRtdvtRS5g+I0cN+MIPAwx+oAIbsEMHs7r1ooSXg5Vqj//Dfw IA613yITWCKmJWS6GZg+DyaaiwLBZ7vKFCfrYYWWPWZ8G1ny77Pdyz6I00lsmCD92M0bcT zwzmpZExLb7ZoAxJh6on7Ns60316Hn+1jFxZDQUwh23durqreF6y1dGFfj+x4u43bHHekP J+6DjW50OGI4bJFH3Jwhoc8kpdVVLWtBImNV+bD6cbkohc4MmXyj+7hkokQASw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTmMb3hmCz1RTr for ; Mon, 09 Mar 2026 05:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f634 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 05:50:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 8f72d933cd18 - main - cxgbe(4): minor changes in code dealing with ncores List-Id: Commit messages for the main 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: 8f72d933cd18664c73b92f282503017bc6c87cf9 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 05:50:51 +0000 Message-Id: <69ae5fbb.1f634.20643ae2@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=8f72d933cd18664c73b92f282503017bc6c87cf9 commit 8f72d933cd18664c73b92f282503017bc6c87cf9 Author: Navdeep Parhar AuthorDate: 2026-03-08 19:59:07 +0000 Commit: Navdeep Parhar CommitDate: 2026-03-09 05:44:13 +0000 cxgbe(4): minor changes in code dealing with ncores 1. ncores and devlog information is read as a combination so it makes sense to validate them in the same routine (and nowhere else). 2. ncores is never 0 and idx % ncores is always a valid coreid. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 14 ++++++++------ sys/dev/cxgbe/t4_sge.c | 10 ++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index cb0ad2342e7c..40cc7777bd71 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -806,7 +806,7 @@ static int validate_mem_range(struct adapter *, uint32_t, uint32_t); static int fwmtype_to_hwmtype(int); static int validate_mt_off_len(struct adapter *, int, uint32_t, uint32_t, uint32_t *); -static int fixup_devlog_params(struct adapter *); +static int fixup_devlog_ncores_params(struct adapter *); static int cfg_itype_and_nqueues(struct adapter *, struct intrs_and_queues *); static int contact_firmware(struct adapter *); static int partition_resources(struct adapter *); @@ -1425,7 +1425,7 @@ t4_attach(device_t dev) */ setup_memwin(sc); if (t4_init_devlog_ncores_params(sc, 0) == 0) - fixup_devlog_params(sc); + fixup_devlog_ncores_params(sc); make_dev_args_init(&mda); mda.mda_devsw = &t4_cdevsw; mda.mda_uid = UID_ROOT; @@ -4565,11 +4565,15 @@ validate_mt_off_len(struct adapter *sc, int mtype, uint32_t off, uint32_t len, } static int -fixup_devlog_params(struct adapter *sc) +fixup_devlog_ncores_params(struct adapter *sc) { struct devlog_params *dparams = &sc->params.devlog; int rc; +#ifdef INVARIANTS + if (sc->params.ncores > 1) + MPASS(chip_id(sc) >= CHELSIO_T7); +#endif rc = validate_mt_off_len(sc, dparams->memtype, dparams->start, dparams->size, &dparams->addr); @@ -5559,7 +5563,7 @@ get_params__pre_init(struct adapter *sc) /* Read device log parameters. */ rc = -t4_init_devlog_ncores_params(sc, 1); if (rc == 0) - fixup_devlog_params(sc); + fixup_devlog_ncores_params(sc); else { device_printf(sc->dev, "failed to get devlog parameters: %d.\n", rc); @@ -5712,8 +5716,6 @@ get_params__post_init(struct adapter *sc) } if (sc->params.ncores > 1) { - MPASS(chip_id(sc) >= CHELSIO_T7); - param[0] = FW_PARAM_DEV(TID_QID_SEL_MASK); rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 1, param, val); sc->params.tid_qid_sel_mask = rc == 0 ? val[0] : 0; diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index a9243ff121a6..07e4165db4a0 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -4372,18 +4372,17 @@ qsize_to_fthresh(int qsize) static int ctrl_eq_alloc(struct adapter *sc, struct sge_eq *eq, int idx) { - int rc, cntxt_id, core; + int rc, cntxt_id; struct fw_eq_ctrl_cmd c; int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; - core = sc->params.tid_qid_sel_mask != 0 ? idx % sc->params.ncores : 0; bzero(&c, sizeof(c)); c.op_to_vfn = htobe32(V_FW_CMD_OP(FW_EQ_CTRL_CMD) | F_FW_CMD_REQUEST | F_FW_CMD_WRITE | F_FW_CMD_EXEC | V_FW_EQ_CTRL_CMD_PFN(sc->pf) | V_FW_EQ_CTRL_CMD_VFN(0)); c.alloc_to_len16 = htobe32(F_FW_EQ_CTRL_CMD_ALLOC | - V_FW_EQ_CTRL_CMD_COREGROUP(core) | + V_FW_EQ_CTRL_CMD_COREGROUP(idx % sc->params.ncores) | F_FW_EQ_CTRL_CMD_EQSTART | FW_LEN16(c)); c.cmpliqid_eqid = htonl(V_FW_EQ_CTRL_CMD_CMPLIQID(eq->iqid)); c.physeqid_pkd = htobe32(0); @@ -4420,18 +4419,17 @@ ctrl_eq_alloc(struct adapter *sc, struct sge_eq *eq, int idx) static int eth_eq_alloc(struct adapter *sc, struct vi_info *vi, struct sge_eq *eq, int idx) { - int rc, cntxt_id, core; + int rc, cntxt_id; struct fw_eq_eth_cmd c; int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; - core = sc->params.ncores > 1 ? idx % sc->params.ncores : 0; bzero(&c, sizeof(c)); c.op_to_vfn = htobe32(V_FW_CMD_OP(FW_EQ_ETH_CMD) | F_FW_CMD_REQUEST | F_FW_CMD_WRITE | F_FW_CMD_EXEC | V_FW_EQ_ETH_CMD_PFN(sc->pf) | V_FW_EQ_ETH_CMD_VFN(0)); c.alloc_to_len16 = htobe32(F_FW_EQ_ETH_CMD_ALLOC | - V_FW_EQ_ETH_CMD_COREGROUP(core) | + V_FW_EQ_ETH_CMD_COREGROUP(idx % sc->params.ncores) | F_FW_EQ_ETH_CMD_EQSTART | FW_LEN16(c)); c.autoequiqe_to_viid = htobe32(F_FW_EQ_ETH_CMD_AUTOEQUIQE | F_FW_EQ_ETH_CMD_AUTOEQUEQE | V_FW_EQ_ETH_CMD_VIID(vi->viid)); From nobody Mon Mar 9 09:21:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTs315bX7z6VSN4 for ; Mon, 09 Mar 2026 09:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTs314qBsz3Z03 for ; Mon, 09 Mar 2026 09:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773048109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nSK1qUyM3X6FldvKwdyivAyGlnWbUO5U5MvoTI5n3/c=; b=eFXNsctZ1KENouXUOvJtqPRmI0mMZcP4rAYYKb3b5a6MbHU0rgB4WE2xNJaMmhXI6dOeiO y1/McbSaA7pScNned7QxJSvt0FgJVOqHWQ1UG8O3TvH+m/QUwQ585abH3AUiR+5PXcxmhr pwL+0cR+bdcXPNt3WMFhaDbFmy84Lh2LUPL1mVU5/eKgXRT5tEKjMgSVKIupobLCACQoWh wDGkZUpzU+kxRzTDtdkKPCkX/r/EZ5XIkdIunkj1xsFotHhFtgX+MofM8GL/bRyLNBkMTa pE0cx2sTIWp2Ftyocne+4iJU9WEJ7xqpgtT3w2Xp58zMRp46ApYrf/9b/MILEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773048109; a=rsa-sha256; cv=none; b=XizaTjnq8g7jf3coljycknxxOds22YY25HoPzeuLMJEU7Vul/jw/m7pa6fW/cUUcvCo9bm SZDZTknJvFdK9fZ4aZmLRH40LADe3SkxfdqURVyYd65aFJuznnTTbn9p/IlKxPCiTKpCYU qXgpy85a1xy2xZ6LFlpAjq9tXL+Rfj1TJzF3SRgvQptwx7gT9gIfLJJPDf9fkeFYeQN+gC mLo2LNhtNNArcq5Hiq81awki/19LAPCnrMTdMtpzf6yzbNPQUc8xQD8WBV7U/wz7AEZ/4O NV648wp7J29BKNmOqkhSv0AwGcxgFHiSU9W6OYz7N/SunC/YwrseaYpMJNL/7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773048109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nSK1qUyM3X6FldvKwdyivAyGlnWbUO5U5MvoTI5n3/c=; b=mLdIsozlKAnMCn1UxgFh2U1sD/r32rM06M0V5CNfpoyhB0yE8iFgwYLuC2EQZ7mjeRZblL h03Qv806wa9vzHhU1z75pcr4rJzcyCh1cNXlQwn3uNCpe4FBxpi2nymSBtaAhlRgZA6GsM 6zOM9psUtzwTXiIJwjHf38ZTpous89YwDNz26wvkKlX4/Mz2LCd1WlIHpVxHAJCawi+YAd 8nKes6MXo9/IkKnVFgtO/tkLnv8d1Wlm5Xb7/IfrgB2NExLHCodn1IhxMsySGJi25FgkME 5T/nPo6yHIwhSv3EfVoPkuX1tJlrQkr8fhNuUzaR7ptPmVOgqs5/KFwLgsIw3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTs314KN9z3vj for ; Mon, 09 Mar 2026 09:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d042 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 09:21:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: f87ba4522ec9 - main - acpi_system76: Add support for battary charge thresholds List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f87ba4522ec9e7b2227b8f20f3a4d7c6a129da1c Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 09:21:49 +0000 Message-Id: <69ae912d.3d042.77be2a85@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f87ba4522ec9e7b2227b8f20f3a4d7c6a129da1c commit f87ba4522ec9e7b2227b8f20f3a4d7c6a129da1c Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-07 18:33:43 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-09 09:11:56 +0000 acpi_system76: Add support for battary charge thresholds Reviewed by: wulf Differential Revision: https://reviews.freebsd.org/D55710 --- sys/dev/acpi_support/acpi_system76.c | 147 +++++++++++++++++++++++++++-------- 1 file changed, 116 insertions(+), 31 deletions(-) diff --git a/sys/dev/acpi_support/acpi_system76.c b/sys/dev/acpi_support/acpi_system76.c index c20725f0174e..9ae7d116be0b 100644 --- a/sys/dev/acpi_support/acpi_system76.c +++ b/sys/dev/acpi_support/acpi_system76.c @@ -54,7 +54,9 @@ struct acpi_system76_softc { ACPI_HANDLE handle; struct acpi_ctrl kbb, /* S76_CTRL_KBB */ - kbc; /* S76_CTRL_KBC */ + kbc, /* S76_CTRL_KBC */ + bctl, /* S76_CTRL_BCTL */ + bcth; /* S76_CTRL_BCTH */ struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; @@ -72,19 +74,25 @@ static void acpi_system76_notify_handler(ACPI_HANDLE, uint32_t, void *); static void acpi_system76_check(struct acpi_system76_softc *); /* methods */ -#define S76_CTRL_KBB 1 /* Keyboard Brightness */ -#define S76_CTRL_KBC 2 /* Keyboard Color */ -#define S76_CTRL_MAX 3 +enum { + S76_CTRL_KBB = 1, /* Keyboard Brightness */ + S76_CTRL_KBC = 2, /* Keyboard Color */ + S76_CTRL_BCTL = 3, /* Battary Charging Start Thresholds */ + S76_CTRL_BCTH = 4, /* Battary Charging End Thresholds */ +}; +#define S76_CTRL_MAX 5 struct s76_ctrl_table { char *name; char *get_method; #define S76_CTRL_GKBB "\\_SB.S76D.GKBB" #define S76_CTRL_GKBC "\\_SB.S76D.GKBC" +#define S76_CTRL_GBCT "\\_SB.PCI0.LPCB.EC0.GBCT" char *set_method; #define S76_CTRL_SKBB "\\_SB.S76D.SKBB" #define S76_CTRL_SKBC "\\_SB.S76D.SKBC" +#define S76_CTRL_SBCT "\\_SB.PCI0.LPCB.EC0.SBCT" char *desc; }; @@ -102,6 +110,18 @@ static const struct s76_ctrl_table s76_sysctl_table[] = { .set_method = S76_CTRL_SKBC, .desc = "Keyboard Color", }, + [S76_CTRL_BCTL] = { + .name = "battary_thresholds_low", + .get_method = S76_CTRL_GBCT, + .set_method = S76_CTRL_SBCT, + .desc = "Battary charging start thresholds", + }, + [S76_CTRL_BCTH] = { + .name = "battary_thresholds_high", + .get_method = S76_CTRL_GBCT, + .set_method = S76_CTRL_SBCT, + .desc = "Battary charging end thresholds", + }, }; static device_method_t acpi_system76_methods[] = { @@ -135,10 +155,12 @@ acpi_system76_ctrl_map(struct acpi_system76_softc *sc, int method) switch (method) { case S76_CTRL_KBB: return (&sc->kbb); - break; case S76_CTRL_KBC: return (&sc->kbc); - break; + case S76_CTRL_BCTL: + return (&sc->bctl); + case S76_CTRL_BCTH: + return (&sc->bcth); default: device_printf(sc->dev, "Driver received unknown method\n"); return (NULL); @@ -150,6 +172,9 @@ acpi_system76_update(struct acpi_system76_softc *sc, int method, bool set) { struct acpi_ctrl *ctrl; ACPI_STATUS status; + ACPI_BUFFER Buf; + ACPI_OBJECT Arg[2], Obj; + ACPI_OBJECT_LIST Args; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); ACPI_SERIAL_ASSERT(system76); @@ -157,12 +182,41 @@ acpi_system76_update(struct acpi_system76_softc *sc, int method, bool set) if ((ctrl = acpi_system76_ctrl_map(sc, method)) == NULL) return (EINVAL); - if (set) - status = acpi_SetInteger(sc->handle, s76_sysctl_table[method].set_method, - ctrl->val); - else - status = acpi_GetInteger(sc->handle, s76_sysctl_table[method].get_method, - &ctrl->val); + switch (method) { + case S76_CTRL_BCTL: + case S76_CTRL_BCTH: + Arg[0].Type = ACPI_TYPE_INTEGER; + Arg[0].Integer.Value = method == S76_CTRL_BCTH ? 1 : 0; + Args.Count = set ? 2 : 1; + Args.Pointer = Arg; + Buf.Length = sizeof(Obj); + Buf.Pointer = &Obj; + + if (set) { + Arg[1].Type = ACPI_TYPE_INTEGER; + Arg[1].Integer.Value = ctrl->val; + + status = AcpiEvaluateObject(sc->handle, + s76_sysctl_table[method].set_method, &Args, &Buf); + } else { + status = AcpiEvaluateObject(sc->handle, + s76_sysctl_table[method].get_method, &Args, &Buf); + if (ACPI_SUCCESS(status) && + Obj.Type == ACPI_TYPE_INTEGER) + ctrl->val = Obj.Integer.Value; + } + break; + case S76_CTRL_KBB: + case S76_CTRL_KBC: + if (set) + status = acpi_SetInteger(sc->handle, s76_sysctl_table[method].set_method, + ctrl->val); + else + status = acpi_GetInteger(sc->handle, s76_sysctl_table[method].get_method, + &ctrl->val); + break; + } + if (ACPI_FAILURE(status)) { device_printf(sc->dev, "Couldn't query method (%s)\n", s76_sysctl_table[method].name); @@ -183,8 +237,12 @@ acpi_system76_notify_update(void *arg) sc = (struct acpi_system76_softc *)device_get_softc(arg); ACPI_SERIAL_BEGIN(system76); - for (method = 1; method < S76_CTRL_MAX; method++) + for (method = 1; method < S76_CTRL_MAX; method++) { + if (method == S76_CTRL_BCTL || + method == S76_CTRL_BCTH) + continue; acpi_system76_update(sc, method, false); + } ACPI_SERIAL_END(system76); } @@ -201,6 +259,14 @@ acpi_system76_check(struct acpi_system76_softc *sc) if ((ctrl = acpi_system76_ctrl_map(sc, method)) == NULL) continue; + /* available in all models */ + if (method == S76_CTRL_BCTL || + method == S76_CTRL_BCTH) { + ctrl->exists = true; + acpi_system76_update(sc, method, false); + continue; + } + if (ACPI_FAILURE(acpi_GetInteger(sc->handle, s76_sysctl_table[method].get_method, &ctrl->val))) { ctrl->exists = false; @@ -236,9 +302,10 @@ acpi_system76_notify_handler(ACPI_HANDLE handle, uint32_t notify, void *ctx) static int acpi_system76_sysctl_handler(SYSCTL_HANDLER_ARGS) { - struct acpi_ctrl *ctrl; + struct acpi_ctrl *ctrl, *ctrl_cmp; struct acpi_system76_softc *sc; int val, method, error; + bool update; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); @@ -253,27 +320,45 @@ acpi_system76_sysctl_handler(SYSCTL_HANDLER_ARGS) device_printf(sc->dev, "Driver query failed\n"); return (error); } - if (req->newptr == NULL) - return (error); - /* Input validation */ - switch (method) { - case S76_CTRL_KBB: - if (val > UINT8_MAX || val < 0) - return (EINVAL); - break; - case S76_CTRL_KBC: - if (val >= (1 << 24) || val < 0) - return (EINVAL); - break; - default: - break; + if (req->newptr == NULL) { + /* + * ACPI will not notify us if battary thresholds changes + * outside this module. Therefore, always fetch those values. + */ + if (method != S76_CTRL_BCTL && method != S76_CTRL_BCTH) + return (error); + update = false; + } else { + /* Input validation */ + switch (method) { + case S76_CTRL_KBB: + if (val > UINT8_MAX || val < 0) + return (EINVAL); + break; + case S76_CTRL_KBC: + if (val >= (1 << 24) || val < 0) + return (EINVAL); + break; + case S76_CTRL_BCTL: + if ((ctrl_cmp = acpi_system76_ctrl_map(sc, S76_CTRL_BCTH)) == NULL) + return (EINVAL); + if (val > 100 || val < 0 || val >= ctrl_cmp->val) + return (EINVAL); + break; + case S76_CTRL_BCTH: + if ((ctrl_cmp = acpi_system76_ctrl_map(sc, S76_CTRL_BCTL)) == NULL) + return (EINVAL); + if (val > 100 || val < 0 || val <= ctrl_cmp->val) + return (EINVAL); + break; + } + ctrl->val = val; + update = true; } - ctrl->val = val; - ACPI_SERIAL_BEGIN(system76); - error = acpi_system76_update(sc, method, true); + error = acpi_system76_update(sc, method, update); ACPI_SERIAL_END(system76); return (error); } From nobody Mon Mar 9 09:21:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTs330g0dz6VSWS for ; Mon, 09 Mar 2026 09:21: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTs3267nCz3Ywm for ; Mon, 09 Mar 2026 09:21:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773048110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YDKIGhbDBsO/9I1xt+AzVx0QvtM6pGpn1obBWLDGD0E=; b=vr+avFFt+wsMqvhgSVPVhcX6FNTmstyTki5qXC7rOgs4e+1tBKu2RQngHdMcANY5s/NRJe xLY1O4efDBKZ62IVDcy4mKst+r+CZmQerXwl/0vcRkcte2e55Ag0OYR3yZIdMM1Nx4FVFK BT4+EuAFKET1mbEMhBCC46h8G4OUU2r4I2w1cREB4kY29b13xfU2HiRoZ3A9mswPtS++ul ZI+TcklBCNp5FpxHGAHiX5hB8i7vYU1YaBoCwxQP5+vwaMmmalmaClkYFW5a4WFd+cVaU5 Evae7y9/EXCdFAuejf0AojZ42XP+AMjyUr9pbnSKS4s+WjjR9dm2hBZYcpIstA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773048110; a=rsa-sha256; cv=none; b=nC9WotsqMang+ApQWT1Hf69y+RLJDOgqu3kafWpA56/C9qSkZA4a3PJ70C1mQUfv7zyvzW /UiqIyegYTjs1q1NDOh+3hQGbvZMUEzb3lDGUw7SdDcJJDrcG5xiv1TRFbBjTqMHTHugNE 7ubeqEEvCRt+xSNOnc/nxkhoR38PYzEy6aLz1oTUFRYIsATDGlkajLpqRxe5utDR+5dtzA 6Db+MyNHKZvN7Ah5ooWrvK3CRlrUsbpltwiSOMWXbQDOvBYqXWfIsa/puOeW8wrGIJ7wuD KgApLgMkYDUU0sZwoQzMGH4/I8SJOyzyGLvxXY8N52IEEJGv7ed5LBy5ycLx3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773048110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YDKIGhbDBsO/9I1xt+AzVx0QvtM6pGpn1obBWLDGD0E=; b=VfK2ECk5HcxF6OGV7Y6b2a2ybnJ0PBYqWpAA5eolEYfI8zPjTWOFSSui/CF4koo2/4e8ON BeSxqwPcebAFJKJl+hjeE4/7O+VhpAv8teJoJ5+qnfEcHIYaQgks6dDkwkExYHgyQRQKyH ftJ7jFpJGx3zfZNwv/d/4nuGLrAJU84N9MjmEH/6//HZnTVoI/4CQCj9VUzgBgNMDJ5Rs/ kBVfWR8IZdn+35WKO05CrG99DJmoyJvPzSluAOurVfNga3ovJWea6QYsKgVR5Kwq8sRgQo c+kZAv0Eim4K7YDKYD9Td5zNvi99p78/5nFNnmx0WHIqLcIH/osf/UcJNCKe7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTs3258Xyz3Q0 for ; Mon, 09 Mar 2026 09:21:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d899 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 09:21:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 105869a2c78d - main - acpi_system76: Add backlight(9) support for keyboard List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 105869a2c78d21f310a8f271eaa510acea045805 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 09:21:50 +0000 Message-Id: <69ae912e.3d899.3605b43c@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=105869a2c78d21f310a8f271eaa510acea045805 commit 105869a2c78d21f310a8f271eaa510acea045805 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-07 22:40:21 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-09 09:12:01 +0000 acpi_system76: Add backlight(9) support for keyboard Reviewed by: wulf Differential Revision: https://reviews.freebsd.org/D55716 --- sys/dev/acpi_support/acpi_system76.c | 145 ++++++++++++++++++++++++++++++++ sys/modules/acpi/acpi_system76/Makefile | 1 + 2 files changed, 146 insertions(+) diff --git a/sys/dev/acpi_support/acpi_system76.c b/sys/dev/acpi_support/acpi_system76.c index 9ae7d116be0b..a4ac848a0fec 100644 --- a/sys/dev/acpi_support/acpi_system76.c +++ b/sys/dev/acpi_support/acpi_system76.c @@ -38,6 +38,9 @@ #include #include +#include +#include "backlight_if.h" + #define _COMPONENT ACPI_OEM ACPI_MODULE_NAME("system76") @@ -60,11 +63,16 @@ struct acpi_system76_softc { struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; + struct cdev *kbb_bkl; + uint8_t backlight_level; }; static int acpi_system76_probe(device_t); static int acpi_system76_attach(device_t); static int acpi_system76_detach(device_t); +static int acpi_system76_suspend(device_t); +static int acpi_system76_resume(device_t); +static int acpi_system76_shutdown(device_t); static void acpi_system76_init(struct acpi_system76_softc *); static struct acpi_ctrl * acpi_system76_ctrl_map(struct acpi_system76_softc *, int); @@ -72,6 +80,12 @@ static int acpi_system76_update(struct acpi_system76_softc *, int, bool); static int acpi_system76_sysctl_handler(SYSCTL_HANDLER_ARGS); static void acpi_system76_notify_handler(ACPI_HANDLE, uint32_t, void *); static void acpi_system76_check(struct acpi_system76_softc *); +static int acpi_system76_backlight_update_status(device_t dev, + struct backlight_props *props); +static int acpi_system76_backlight_get_status(device_t dev, + struct backlight_props *props); +static int acpi_system76_backlight_get_info(device_t dev, + struct backlight_info *info); /* methods */ enum { @@ -125,9 +139,18 @@ static const struct s76_ctrl_table s76_sysctl_table[] = { }; static device_method_t acpi_system76_methods[] = { + /* Device interface */ DEVMETHOD(device_probe, acpi_system76_probe), DEVMETHOD(device_attach, acpi_system76_attach), DEVMETHOD(device_detach, acpi_system76_detach), + DEVMETHOD(device_suspend, acpi_system76_suspend), + DEVMETHOD(device_resume, acpi_system76_resume), + DEVMETHOD(device_shutdown, acpi_system76_shutdown), + + /* Backlight interface */ + DEVMETHOD(backlight_update_status, acpi_system76_backlight_update_status), + DEVMETHOD(backlight_get_status, acpi_system76_backlight_get_status), + DEVMETHOD(backlight_get_info, acpi_system76_backlight_get_info), DEVMETHOD_END }; @@ -145,6 +168,33 @@ static driver_t acpi_system76_driver = { sizeof(struct acpi_system76_softc) }; +static const uint32_t acpi_system76_backlight_levels[] = { + 0, 6, 12, 18, 24, 30, 36, 42, + 48, 54, 60, 66, 72, 78, 84, 100 +}; + +static inline uint32_t +devstate_to_backlight(uint32_t val) +{ + return (acpi_system76_backlight_levels[val >> 4 & 0xf]); +} + +static inline uint32_t +backlight_to_devstate(uint32_t bkl) +{ + int i; + uint32_t val; + + for (i = 0; i < nitems(acpi_system76_backlight_levels); i++) { + if (bkl < acpi_system76_backlight_levels[i]) + break; + } + val = (i - 1) * 16; + if (val > 224) + val = 255; + return (val); +} + /* * Returns corresponding acpi_ctrl of softc from method */ @@ -244,6 +294,9 @@ acpi_system76_notify_update(void *arg) acpi_system76_update(sc, method, false); } ACPI_SERIAL_END(system76); + + if (sc->kbb_bkl != NULL) + sc->backlight_level = devstate_to_backlight(sc->kbb.val); } static void @@ -335,6 +388,8 @@ acpi_system76_sysctl_handler(SYSCTL_HANDLER_ARGS) case S76_CTRL_KBB: if (val > UINT8_MAX || val < 0) return (EINVAL); + if (sc->kbb_bkl != NULL) + sc->backlight_level = devstate_to_backlight(val); break; case S76_CTRL_KBC: if (val >= (1 << 24) || val < 0) @@ -386,6 +441,14 @@ acpi_system76_init(struct acpi_system76_softc *sc) if (!ctrl->exists) continue; + if (method == S76_CTRL_KBB) { + sc->kbb_bkl = backlight_register("system76_keyboard", sc->dev); + if (sc->kbb_bkl == NULL) + device_printf(sc->dev, "Can not register backlight\n"); + else + sc->backlight_level = devstate_to_backlight(sc->kbb.val); + } + SYSCTL_ADD_PROC(&sc->sysctl_ctx, SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, s76_sysctl_table[method].name, CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, @@ -393,6 +456,45 @@ acpi_system76_init(struct acpi_system76_softc *sc) } } +static int +acpi_system76_backlight_update_status(device_t dev, struct backlight_props + *props) +{ + struct acpi_system76_softc *sc; + + sc = device_get_softc(dev); + if (sc->kbb.val != backlight_to_devstate(props->brightness)) { + sc->kbb.val = backlight_to_devstate(props->brightness); + acpi_system76_update(sc, S76_CTRL_KBB, true); + } + sc->backlight_level = props->brightness; + + return (0); +} + +static int +acpi_system76_backlight_get_status(device_t dev, struct backlight_props *props) +{ + struct acpi_system76_softc *sc; + + sc = device_get_softc(dev); + props->brightness = sc->backlight_level; + props->nlevels = nitems(acpi_system76_backlight_levels); + memcpy(props->levels, acpi_system76_backlight_levels, + sizeof(acpi_system76_backlight_levels)); + + return (0); +} + +static int +acpi_system76_backlight_get_info(device_t dev, struct backlight_info *info) +{ + info->type = BACKLIGHT_TYPE_KEYBOARD; + strlcpy(info->name, "System76 Keyboard", BACKLIGHTMAXNAMELENGTH); + + return (0); +} + static int acpi_system76_attach(device_t dev) { @@ -423,9 +525,51 @@ acpi_system76_detach(device_t dev) if (sysctl_ctx_free(&sc->sysctl_ctx) != 0) return (EBUSY); + AcpiRemoveNotifyHandler(sc->handle, ACPI_SYSTEM_NOTIFY, + acpi_system76_notify_handler); + + if (sc->kbb_bkl != NULL) + backlight_destroy(sc->kbb_bkl); + return (0); } +static int +acpi_system76_suspend(device_t dev) +{ + struct acpi_system76_softc *sc; + struct acpi_ctrl *ctrl; + + sc = device_get_softc(dev); + if ((ctrl = acpi_system76_ctrl_map(sc, S76_CTRL_KBB)) != NULL) { + ctrl->val = 0; + acpi_system76_update(sc, S76_CTRL_KBB, true); + } + + return (0); +} + +static int +acpi_system76_resume(device_t dev) +{ + struct acpi_system76_softc *sc; + struct acpi_ctrl *ctrl; + + sc = device_get_softc(dev); + if ((ctrl = acpi_system76_ctrl_map(sc, S76_CTRL_KBB)) != NULL) { + ctrl->val = backlight_to_devstate(sc->backlight_level); + acpi_system76_update(sc, S76_CTRL_KBB, true); + } + + return (0); +} + +static int +acpi_system76_shutdown(device_t dev) +{ + return (acpi_system76_detach(dev)); +} + static int acpi_system76_probe(device_t dev) { @@ -444,3 +588,4 @@ acpi_system76_probe(device_t dev) DRIVER_MODULE(acpi_system76, acpi, acpi_system76_driver, 0, 0); MODULE_VERSION(acpi_system76, 1); MODULE_DEPEND(acpi_system76, acpi, 1, 1, 1); +MODULE_DEPEND(acpi_system76, backlight, 1, 1, 1); diff --git a/sys/modules/acpi/acpi_system76/Makefile b/sys/modules/acpi/acpi_system76/Makefile index 86d2c91e712d..76bee091dfca 100644 --- a/sys/modules/acpi/acpi_system76/Makefile +++ b/sys/modules/acpi/acpi_system76/Makefile @@ -3,5 +3,6 @@ KMOD= acpi_system76 CFLAGS+=-I${SRCTOP}/sys/dev/acpi_support SRCS= acpi_system76.c opt_acpi.h acpi_if.h device_if.h bus_if.h +SRCS+= backlight_if.h .include From nobody Mon Mar 9 12:37:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTxPC6PkTz6VhDZ for ; Mon, 09 Mar 2026 12:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTxPC5wwhz3yfP for ; Mon, 09 Mar 2026 12:37:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773059871; 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; bh=ZdStLPnCT7KbqAo4d6JMReWQ7/BTIyzPq4SIl+9s/K4=; b=h7XDeCqe3cwKdg7wVtyvjoHSNQkX9gdNzWdgsh1s8OI6hFvtP6uyRMyeSfkPOCoK1bbYkD z44bEjeDd4W1N/DWYkmUCT+F41oCywUPpp0amEvd8RxpjA+tazpt4qhUAoyUdTH0ANCTXo OA/i3rdKXHP/Mdf5VRZCRwMkvm6QaxXNb8WIt0D8WRcDPug2wAt2Zvz44Pif0I4MjlDhfh XXvE31z2B2IrKnCrAO3rEZmw9zxwX5Dr0O8dQk1DTkrPQfpv47o0t7F+VZ8Mi636da2v6W Ceiu2B0DD0XxZQOsHOvOUAhPpZAM/NgyrqvNfXF5ktNJHM75D1eJwuHmVlg7BA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773059871; a=rsa-sha256; cv=none; b=vphuKa9RWJfa7AHTLiQthnX8EkhFHdw/ueDSaDG9R9Lua4WkZ7CZjCn1A5uLVu8W6EaTJ1 XZGCZpAPLvxsVeHDv66hAReKjdoSkbKCyWh5VDL/12Q+hB5hI7VqK+mI1fE9AFak8YLd+e AIIjG6HWh2Lwa5LHlOcwUEiowJlZyK4XhXSQHSFv/NhKKklQSftb5Q0lB1o7Y3xFsez9+G 2Wr3/oKVVoBvWrq7v1F4G7UewQqjiZWq53TvnS0OJxH7TwZxy5H3bct2yUC8iEjhUlb2Xn CbYB8NRyfoPqYlMT99gPC1T+bnqBzmkgS09boPrWlTLd/Pa38OrAnhF8E/hVIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773059871; 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; bh=ZdStLPnCT7KbqAo4d6JMReWQ7/BTIyzPq4SIl+9s/K4=; b=Qrre58X4kywCMZ3HyxBBsUZwMSXkms4Iq7Zzm53C9oPXNQlnca5D5lB35di/0YWSHvMBwH YNqnTZaBLnEFlUAZASuBWVwVmZQPObIjlulCQr4ZESJGmEejholco2CzIHdGu+1X9gr3um 56YUdXMkZObUPco/JKyO4SHL5gyjfrGixUSPSdRadAwcOU6tgvlve6A5AWu1Wj8Hrvb9u3 tfwuYX+JKHcO5Lae7dP48U2mV1mS2x0vcON5on/+tFIrUOP6SHsqFjZtnuhIKZYN6uzFLr VjX1Mah6W10On2s/hK7EZlU0Z+g9uJosbTQAM/eVGpfGXFqUZIonzjNS0WDsPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTxPC5Td2z8yQ for ; Mon, 09 Mar 2026 12:37:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21c85 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 12:37:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Qi Wang From: Brooks Davis Subject: git: 2c5cd07828ad - main - rallocx path: only set errno on the realloc case. List-Id: Commit messages for the main 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: 2c5cd07828ad76c332e3bedc29fc641809e85396 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 12:37:51 +0000 Message-Id: <69aebf1f.21c85.579be82e@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=2c5cd07828ad76c332e3bedc29fc641809e85396 commit 2c5cd07828ad76c332e3bedc29fc641809e85396 Author: Qi Wang AuthorDate: 2026-03-03 11:55:23 +0000 Commit: Brooks Davis CommitDate: 2026-03-09 12:35:39 +0000 rallocx path: only set errno on the realloc case. PR: 291677 Obtained from: jemalloc (commit 83b075789b4239035931c1ee212576d00153bbf0) Fixes: c43cad871720 ("jemalloc: Merge from jemalloc 5.3.0 vendor branch") MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/2059 --- contrib/jemalloc/src/jemalloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/jemalloc/src/jemalloc.c b/contrib/jemalloc/src/jemalloc.c index 352c18870e0b..edf23b9801b4 100644 --- a/contrib/jemalloc/src/jemalloc.c +++ b/contrib/jemalloc/src/jemalloc.c @@ -3561,7 +3561,9 @@ do_rallocx(void *ptr, size_t size, int flags, bool is_realloc) { return p; label_oom: - set_errno(ENOMEM); + if (is_realloc) { + set_errno(ENOMEM); + } if (config_xmalloc && unlikely(opt_xmalloc)) { malloc_write(": Error in rallocx(): out of memory\n"); abort(); From nobody Mon Mar 9 12:37:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTxPJ06Jmz6VgvV for ; Mon, 09 Mar 2026 12:37:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTxPH6Sx4z40CP for ; Mon, 09 Mar 2026 12:37:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773059875; 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; bh=Funl93FUjlE47uWw/76pf/iQaEVBB/7mizvpFYRXNhY=; b=vp+I0f0u7MiRohI/RFMwfAkMsl6KLy4Az1SNsnu1Hv2XqKhZqKPZwevhgBa5S9j1piwIo+ xVYq8UTWXRV2ktoaFlERhQbUvf6DhC3nE+Koq5XK+d/WtaFgkeO16vUGZcxcnZ4W1N/SQG bEBXqGJqSt0Ed41LXdUYrA8g2GIhqq8v012ol1HhCYNnGBQyX/zNexV8GUy5yTU2y6ZHMj HaZfUYULiMnHtpUiqT1J4T+ABIMSzN2HVptx7tEam6Y2lN9BbYBBBnY9uZITSOdAZshUeo pHAY/0NShhyA2jgwL1Uk0rMngYXijbueQUgLu+OzG4luLBcyseJjV9ejO8tsUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773059875; a=rsa-sha256; cv=none; b=iHBBPsgRecV8uR3HOOEYcGQKp5I5FWb8gwUfWoj2FdluMqaD2ymrnJF4+yZKYvX9jNTJa4 o2PnJm4J0MQOWUYBUPocsC3jwnT/ESwaLmFYb9S1Umnu60+AYGbgEwqjU8CJYOu1lnytw2 +C2Sa5HJBS/exbutR1PxhtiHKydjzaSb0Fk0cRjnR93AV2Y5IBCpw1GMZGHkKRq4nsqj+L mb95DjMgHDv9N3WhvyEh5nr8WrRadDJmORkN0qzPyAUOeR40yNj+465j/Dye/0/yf9H2+1 NeVzoPwTb65cJZ1qzMfNSiCB1CYZrlZNT7OTiKs00qiUuMcVTKebgx7cHxTuYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773059875; 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; bh=Funl93FUjlE47uWw/76pf/iQaEVBB/7mizvpFYRXNhY=; b=qN4cSdDllfNRS5kff9Ro5Wywl7RheIlF926WMfhGLY2ydnykxY9rtAIMv0i+5uK/xxTbA3 Ysh0MBCFk0BYF45oB2ps9zl2lOfFlvVdyB/8t5yBCGtuu7/3JD6M95KUj7EWFGY1BDWjfU 2v9bBmQQ+h32GpfaQXe/dttA4OYfjKqrh8RtebzagkObXgCHiDZHcjY5QhaMP1NRFn9D91 TyEaMOnxMpw27DLUF9ik1gTN2OCdfgQW8SJLPiy6VZP431U2Qr9pDXVUNOE71EiQHexoOj x/joQ51XogOQweVilIE6c2oHbhriTDL9QGY/s0K40kQmkd8kJR0yd1KSTLZndQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTxPH5yhQz9JP for ; Mon, 09 Mar 2026 12:37:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 219b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 12:37:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Juhyung Park From: Brooks Davis Subject: git: 5583b64f230f - main - Set errno to ENOMEM on rallocx() OOM failures List-Id: Commit messages for the main 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: 5583b64f230fe0ea4e3d4bf4566205b521190fbb Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 12:37:50 +0000 Message-Id: <69aebf1e.219b1.569a0a61@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=5583b64f230fe0ea4e3d4bf4566205b521190fbb commit 5583b64f230fe0ea4e3d4bf4566205b521190fbb Author: Juhyung Park AuthorDate: 2026-03-03 09:59:33 +0000 Commit: Brooks Davis CommitDate: 2026-03-09 12:35:25 +0000 Set errno to ENOMEM on rallocx() OOM failures realloc() and rallocx() shares path, and realloc() should set errno to ENOMEM upon OOM failures. PR: 291677 Obtained from: jemalloc (commit 38056fea64c34ca4fef0a16212776eaa4de80b78) Fixes: c43cad871720 ("jemalloc: Merge from jemalloc 5.3.0 vendor branch") MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/2059 --- contrib/jemalloc/src/jemalloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/jemalloc/src/jemalloc.c b/contrib/jemalloc/src/jemalloc.c index e4b183d1a24d..352c18870e0b 100644 --- a/contrib/jemalloc/src/jemalloc.c +++ b/contrib/jemalloc/src/jemalloc.c @@ -3561,6 +3561,7 @@ do_rallocx(void *ptr, size_t size, int flags, bool is_realloc) { return p; label_oom: + set_errno(ENOMEM); if (config_xmalloc && unlikely(opt_xmalloc)) { malloc_write(": Error in rallocx(): out of memory\n"); abort(); From nobody Mon Mar 9 13:39:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTymt5xKtz6VlYP; Mon, 09 Mar 2026 13:39:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTymt5Nw7z46GT; Mon, 09 Mar 2026 13:39:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773063598; 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=s8KUlrtztL3NBWNOzi4/qWI//tRvZIDQZr+gpp62EWU=; b=Pk0zHJ233HC9nYOGZJANjSVgNPQScNXDhP68r3+8rk0uoqKqisL0JBDJKxncI0NAhyMVmo st9DBuYsPWlghk7GOqSTR4HmlzbE9umgZpJMTUcoGNRt2jejhvG25vT1NdiOmD0sAfTFxX XkGXdgljKPAfk99E69q0hVYDhcuG84KBVj7nsRMyotGFSThYWDj35wjpM4m5V1z5kFB4wJ IqwJQpf3A44LFubShkWwNYZxrE79dxsKUrv/4VT5uzp3oMYJMQZ56GCXwFjdJ8iZeG5zx1 9rEZYLip/VtjrZ3rtGwY2GD1ZzHB4YPKZnBRzMrfZXkf83tmx8eJeCu+X2IddA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773063598; a=rsa-sha256; cv=none; b=coxqgOgXgN7fdEgGZKY+dQgQE9x5KyL49gwthlf2XDH1afl10HP2TKC6zrgfvoqSyVBPts sjfjF7i2z9EGkIoaQrZnJZTGgTjGvMRdAhkn6Wsnb+BL25NxMtbUiEG9ydQ30uguFpXwOv pNcn611LEU1F7mhL3KesFzVBbtBubn6XKevjuoj9dhM6gln/6B9tz5FMZ4EbNDxumWibqD PWgt9+LezxtIZ3GMjikFoq0dlinJIlfjp+wFLW2qFuKAhbEzJ7ymU7irr6Yvw/17fysU0t D1HR62rxiBhCjTI3h2Qx4dX9hXHsiFD4YLIhGl7MVopMuy1wdiTYOL7ab7p6bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773063598; 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=s8KUlrtztL3NBWNOzi4/qWI//tRvZIDQZr+gpp62EWU=; b=NaE+jaXc7sZBNrUspRNzopRQCZlLQrakY9mUzOU05aNjWR5IGGgASR9ihBo96mt6hpecd7 BaoJ2y1zusC0AfXUsa+WN9PzZw1opjJoer/lGQ3II7Eep1D6+1yT3Etb6VEd93Ja1znIVI EdtGPKko9dCJigRzt+E3MCKukscDC1bAVok7PwG6yAx5XSKF3d8o6thmgv4/f6jSwPWr3+ H0bLIQhGNT82afdxnSEVDY5m7Yzqw66rlIjCqgMgjLUZFWKBX/ZqOhpHzphhAN5mlUlQsa DhyJ5tdUGhC0MmzbuT8TEF3Jk8/n7vTYhsC2R2OczPFmehcS66zXlhtJZBUVAQ== Received: from [IPV6:2601:5c0:4202:5670:5853:86ec:97b9:344a] (unknown [IPv6:2601:5c0:4202:5670:5853:86ec:97b9:344a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fTymt39krzLVX; Mon, 09 Mar 2026 13:39:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Mon, 9 Mar 2026 09:39:57 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: b3d9e5013f3e - main - nvme: Don't active memory space until all BARs are configured Content-Language: en-US To: Alexander Ziaee , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Matt Delco References: <69ab0f9b.18db4.5196b3f7@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <69ab0f9b.18db4.5196b3f7@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/6/26 12:32, Alexander Ziaee wrote: > The branch main has been updated by ziaee: > > URL: https://cgit.FreeBSD.org/src/commit/?id=b3d9e5013f3e5016ffbd3d3d6091194658af2b92 > > commit b3d9e5013f3e5016ffbd3d3d6091194658af2b92 > Author: Matt Delco > AuthorDate: 2026-03-06 17:23:03 +0000 > Commit: Alexander Ziaee > CommitDate: 2026-03-06 17:28:41 +0000 > > nvme: Don't active memory space until all BARs are configured > > In the current current behavior the 2nd and 3rd BARs can be activated > when they're configured with address zero. This change defers the > activation of all BARs until after they've all been configured with an > address. > > This enables FreeBSD on Google Compute Engine C4-LSSD Machines. This hack is fine for now, but the real fix for this is that the PCI bus driver needs to ensure resources are reserved for all of the MEM or IO BARs before enabling MEM or IO decoding at which point this can (and should) be reverted. That's kind of a longstanding bug in the PCI bus driver that we haven't had to solve previously because the firmware in most systems assigns BARs during POST so that in practice we never have to deal with unreserved BARs. > Sponsored by: Google > Tested by: NetApp (previous version) > Reviewed by: gallatin, imp > Discussed with: jrtc27 (improved error reporting) > Differential Revision: https://reviews.freebsd.org/D55541 > --- > sys/dev/nvme/nvme_pci.c | 44 +++++++++++++++++++++++++++++++++++++------- > 1 file changed, 37 insertions(+), 7 deletions(-) > > diff --git a/sys/dev/nvme/nvme_pci.c b/sys/dev/nvme/nvme_pci.c > index 5784c6d1be96..74191df52058 100644 > --- a/sys/dev/nvme/nvme_pci.c > +++ b/sys/dev/nvme/nvme_pci.c > @@ -151,24 +151,28 @@ nvme_pci_probe (device_t device) > static int > nvme_ctrlr_allocate_bar(struct nvme_controller *ctrlr) > { > + int error; > + > ctrlr->resource_id = PCIR_BAR(0); > ctrlr->msix_table_resource_id = -1; > ctrlr->msix_table_resource = NULL; > ctrlr->msix_pba_resource_id = -1; > ctrlr->msix_pba_resource = NULL; > > + /* > + * Using RF_ACTIVE will set the Memory Space bit in the PCI command register. > + * The remaining BARs will get mapped in before they've been programmed with > + * an address. To avoid this we'll not set this flag and instead call > + * bus_activate_resource() after all the BARs have been programmed. > + */ > ctrlr->resource = bus_alloc_resource_any(ctrlr->dev, SYS_RES_MEMORY, > - &ctrlr->resource_id, RF_ACTIVE); > + &ctrlr->resource_id, 0); > > if (ctrlr->resource == NULL) { > nvme_printf(ctrlr, "unable to allocate pci resource\n"); > return (ENOMEM); > } > > - ctrlr->bus_tag = rman_get_bustag(ctrlr->resource); > - ctrlr->bus_handle = rman_get_bushandle(ctrlr->resource); > - ctrlr->regs = (struct nvme_registers *)ctrlr->bus_handle; > - > /* > * The NVMe spec allows for the MSI-X tables to be placed behind > * BAR 4 and/or 5, separate from the control/doorbell registers. > @@ -180,7 +184,7 @@ nvme_ctrlr_allocate_bar(struct nvme_controller *ctrlr) > if (ctrlr->msix_table_resource_id >= 0 && > ctrlr->msix_table_resource_id != ctrlr->resource_id) { > ctrlr->msix_table_resource = bus_alloc_resource_any(ctrlr->dev, > - SYS_RES_MEMORY, &ctrlr->msix_table_resource_id, RF_ACTIVE); > + SYS_RES_MEMORY, &ctrlr->msix_table_resource_id, 0); > if (ctrlr->msix_table_resource == NULL) { > nvme_printf(ctrlr, "unable to allocate msi-x table resource\n"); > return (ENOMEM); > @@ -190,13 +194,39 @@ nvme_ctrlr_allocate_bar(struct nvme_controller *ctrlr) > ctrlr->msix_pba_resource_id != ctrlr->resource_id && > ctrlr->msix_pba_resource_id != ctrlr->msix_table_resource_id) { > ctrlr->msix_pba_resource = bus_alloc_resource_any(ctrlr->dev, > - SYS_RES_MEMORY, &ctrlr->msix_pba_resource_id, RF_ACTIVE); > + SYS_RES_MEMORY, &ctrlr->msix_pba_resource_id, 0); > if (ctrlr->msix_pba_resource == NULL) { > nvme_printf(ctrlr, "unable to allocate msi-x pba resource\n"); > return (ENOMEM); > } > } > > + error = bus_activate_resource(ctrlr->dev, ctrlr->resource); > + if (error) { > + nvme_printf(ctrlr, "unable to activate pci resource: %d\n", error); > + return (error); > + } > + if (ctrlr->msix_table_resource != NULL) { > + error = bus_activate_resource(ctrlr->dev, ctrlr->msix_table_resource); > + if (error) { > + nvme_printf(ctrlr, "unable to activate msi-x table resource: %d\n", > + error); > + return (error); > + } > + } > + if (ctrlr->msix_pba_resource != NULL) { > + error = bus_activate_resource(ctrlr->dev, ctrlr->msix_pba_resource); > + if (error) { > + nvme_printf(ctrlr, "unable to activate msi-x pba resource: %d\n", > + error); > + return (error); > + } > + } > + > + ctrlr->bus_tag = rman_get_bustag(ctrlr->resource); > + ctrlr->bus_handle = rman_get_bushandle(ctrlr->resource); > + ctrlr->regs = (struct nvme_registers *)ctrlr->bus_handle; This is a gross hack that needs to die (ctlr->regs), and also, bus_tag and bus_handle should probably be removed as well. -- John Baldwin From nobody Mon Mar 9 13:42:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTyqv5yKsz6VlwX; Mon, 09 Mar 2026 13:42:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTyqv2xX1z46Y3; Mon, 09 Mar 2026 13:42:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773063755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PHYI6lAW9ngBdffLOj8nFuhhnIPnhxnCBWd9FACDnL4=; b=S/REDLhl7E9NfZr9K/H5GNN+6GLQpyWqR3gCoCljJgy190tHvNwz/pAkK6clzvJJGkW45u C/djmUYuOgEutmcMkKqirkTAyt3uFFnpw+CInxz09D9q32KLy38Ry4osXNEAwsDuB3x5a/ 9ALUfgRbfsdLCRROfP096VuOSKAyYUwXaAFncr/T7cNc1togT/bsbYZWHZGL+g9kuCNOVw Ptye9kWkcF05tDDt8oTnOTLFwiNM6tqeHvzoo+77YiO63aYCHEFfmzUDL9PpbMq2gOUaqK Hx+dSnjD6WOzP7yifj4qa6zaMbGuWnAjw7K67D8CoPepMUaxCP8/HzwU6l1DTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773063755; a=rsa-sha256; cv=none; b=ZLzrmo6SR/SaE68uyeqSPse6BCowXaHAFptCuc6qj2zlfsfhLYFJ0h0Yry5pOaos6kItHp I9kCM4rtfJHt0ztJwXKB1hAMGuiJ/+VH7lShmzt01MXmtn4aNVutR6zYo/M2M7Ywa736G/ 3SLspUnF+2iopX0mmZTdonN7JaFh5uyfZFV7khm0b7co8pICiMVqfa3LpkwTv7HF2qVSEI E50i5hOdnbnvjlFb/909kUvPM2qFhbQa7WphNbGSyWu4HfW37KzbOHxEAm/ljzIFohXopd /uGq8sn3FxKNUHUH+cGvA2UkH0SitUVENTmhqWwwH3u7J0sfxx+9iN4RNg+X6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773063755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PHYI6lAW9ngBdffLOj8nFuhhnIPnhxnCBWd9FACDnL4=; b=k4Li+zLhz8GVGKX8tli0DropW+Ttb4YB1yTSjGsrMKq1KtGXg5jrrCdu0bRAhcHNisrHRK KkQATl7NF9gDFH4nm0SFr5sW1Hwonte1/TXcxy6eyeoEDx9QOptTW7vMkWXezOq/fF/xKt 3Pa5rem6VhIteHbBxnM1slnhDyd+UUm1Lht/9XuYie74BLTBAvhdw3C+UdWoPoI4UipZk8 zv47MEH/dToDhrn8Wd5VzBKnyTyPYSjpfT9Y/kl3xZsdZavq5aP74Jy4bA3oQbFTMqi/9O ZS/CqfLctvVjQBVIX6qP0bkbU3yELXyGv6d5+tvBatUy7PcqTeBcsPo5uV9X9g== Received: from [IPV6:2601:5c0:4202:5670:e532:3e1b:5270:ef85] (unknown [IPv6:2601:5c0:4202:5670:e532:3e1b:5270:ef85]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fTyqv0yLLzL61; Mon, 09 Mar 2026 13:42:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Mon, 9 Mar 2026 09:42:34 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: fa4f625ed854 - main - acpi_system76: unbreak LINT Content-Language: en-US To: Pouria Mousavizadeh Tehrani , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69ac7b46.250e5.986d69e@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <69ac7b46.250e5.986d69e@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/7/26 14:23, Pouria Mousavizadeh Tehrani wrote: > The branch main has been updated by pouria: > > URL: https://cgit.FreeBSD.org/src/commit/?id=fa4f625ed854cec2d7657783b955426fce8ff9ba > > commit fa4f625ed854cec2d7657783b955426fce8ff9ba > Author: Pouria Mousavizadeh Tehrani > AuthorDate: 2026-03-07 19:15:40 +0000 > Commit: Pouria Mousavizadeh Tehrani > CommitDate: 2026-03-07 19:22:24 +0000 > > acpi_system76: unbreak LINT > > Reported by: tinderbox > Fixes: cdad55809ef5 ("acpi_system76: Support for ...") > Differential Revision: https://reviews.freebsd.org/D55694 > --- > sys/dev/acpi_support/acpi_system76.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sys/dev/acpi_support/acpi_system76.c b/sys/dev/acpi_support/acpi_system76.c > index 916a9a61f471..c20725f0174e 100644 > --- a/sys/dev/acpi_support/acpi_system76.c > +++ b/sys/dev/acpi_support/acpi_system76.c > @@ -26,12 +26,14 @@ > * SUCH DAMAGE. > */ > > +#include "opt_acpi.h" > #include FYI, I believe the common style is to leave a blank line between "opt_foo.h" #includes and other #includes. (I am not sure if style(9) covers this case.) -- John Baldwin From nobody Mon Mar 9 13:55:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTz6T1Rdgz6VmCL for ; Mon, 09 Mar 2026 13:55:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTz6S6SDQz49Nm for ; Mon, 09 Mar 2026 13:55:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773064512; 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; bh=v9bFJuFfvk74h6316Gf0y8lQYfoDgFOSME2Avr3/d9A=; b=SnVtMTOSy5CyFZCm1beaG8u69OAEm5Yalfdln1GGrS6EdqvKcjB8Z8y3G7hEMlAgSKLZUd vnH7d/chjmSucRHChsaPKHJCCbfU+05Z72gwGkBeEPthyYUTa2cDkngEKA/lQ9UGftXvaf 0AKUmh087ONCbt0KIYB7eRBcqliTI+Sewori961/RPwaemPizUyieWYCC7YlbMJFDcU69R DpHmzQ4Ldz2S5mJml/rbo57ukqskxRe3jLKjst0FOQpNeILf5ri/76ILygIdBTWD0zmnev zchnKGDoQZuWLynLdFJsy7oxysUCM25PKQQ13ORsE5lwIuxBDdYEVHp/n+K8WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773064512; a=rsa-sha256; cv=none; b=a37UMnij+7wJug6ZawvtfyjkKz+3T7S1XzkK3M9bUhM6iFxdMfPzwkhQiD3aYbi8CcaE7X ZN9eY7unsE9ZKJDIB7fBbnhVNERAKNIqIsgg0GIfeVguww3DZU+iglx5/XVZDt9GEMSWTF 2vgQAmfpsRzy+V+fcRisFWN4/cIH32h7q18fVjgJkeCRDFEq6U1lnrU/dAq4c4F2W+jWwB /arAjJGqmKDcz2b8x6qVREoXMuOWgxF5J+n4OGNHoZ2+Vf/aZSjSkeK6ACthLIpYhV0VP7 TnvklzDbrD1JbRrBCVJdjfdoh9PGe+cZ7xDGsQpV70opyrAlfYsU4aBly+tlKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773064512; 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; bh=v9bFJuFfvk74h6316Gf0y8lQYfoDgFOSME2Avr3/d9A=; b=rXMxjVOGTL+5MfiQCoWwgW1YBge4Pmmbck/sjjhVrYiiYJXfjYA8RSXhP+hbZG1kACtuyY pDozMoSpkWTYE8sQF5jVMwOm7/2+wC5jPoQkVaiuaClKLuFfRhfUWtmUpUZ+1JtAy87zUu P6p0RrYun+0rlRt57bnyix1r6F6gJIfOajml7kAIb4rb8KvQPvaPsFR8YWR6G08SsQ+HR/ RHUk1Wnp78qOKu+o1iGMN0OyOsUThB6R/EyvDNQxMItEFOjaxzqML0cp1tEiEXc2kgbwcP bwh/Kk9ofWwiHWeNGMKhxHeCOIq8fIKjSsNIJ8kECRynAFGcYFhP+/zA1zVYAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTz6S618SzCHZ for ; Mon, 09 Mar 2026 13:55:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30ed2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 13:55:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Paarth Shirsat From: Alexander Ziaee Subject: git: 02fd9fa29527 - main - freebsd-update: Document -v verbosity 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: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 02fd9fa2952705ea0ed142061dd86aad7e01f8db Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 13:55:07 +0000 Message-Id: <69aed13b.30ed2.3a09812d@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=02fd9fa2952705ea0ed142061dd86aad7e01f8db commit 02fd9fa2952705ea0ed142061dd86aad7e01f8db Author: Paarth Shirsat AuthorDate: 2026-03-09 13:49:51 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-09 13:54:23 +0000 freebsd-update: Document -v verbosity flag PR: 276099 MFC after: 3 days Reported by: michaelo Co-authored-by: Alexander Ziaee --- usr.sbin/freebsd-update/freebsd-update.8 | 13 ++++++++++++- usr.sbin/freebsd-update/freebsd-update.sh | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.8 b/usr.sbin/freebsd-update/freebsd-update.8 index 7524087cb95b..cdb4915f7bfd 100644 --- a/usr.sbin/freebsd-update/freebsd-update.8 +++ b/usr.sbin/freebsd-update/freebsd-update.8 @@ -23,7 +23,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 2, 2024 +.Dd March 9, 2026 .Dt FREEBSD-UPDATE 8 .Os .Sh NAME @@ -42,6 +42,7 @@ .Op Fl r Ar newrelease .Op Fl s Ar server .Op Fl t Ar address +.Op Fl v Ar level .Ar command ... .Sh DESCRIPTION The @@ -135,6 +136,16 @@ Mail output of command, if any, to .Ar address . (default: root, or as given in the configuration file.) +.It Fl v Ar level +Set output verbosity. +.Ar level +must be one of +.Cm stats +(show progress statistics while fetching files; the default), +.Cm nostats +(suppress progress statistics), or +.Cm debug +(show all output from internal utilities). .It Fl -not-running-from-cron Force .Nm Cm fetch diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index a58b50e9ca2e..b23ada60e8aa 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -52,6 +52,7 @@ Options: (default: update.FreeBSD.org) -t address -- Mail output of cron command, if any, to address (default: root) + -v level -- Set output verbosity to stats, nostats, or debug --not-running-from-cron -- Run without a tty, for use by automated tools --currently-running release From nobody Mon Mar 9 14:35:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV01J6jZWz6Vpkw for ; Mon, 09 Mar 2026 14:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV01J61dtz4Fh5 for ; Mon, 09 Mar 2026 14:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773066948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Kn/vLr1pPPfIVV0JzVPOEOekTXsJ35WMyK7lABmcCQ=; b=VFZyh9fzRy3sUTBbu1A054YCVCUpSbMgaJkEHMYSeeT4YR1MOiGXeC5nX5DTbQR3uYFheO SE5G98Ow3sWNFqhGs3PbrYFz5g+zPQiX9lyNNwqSljcDrb34tyItUuMM7Cd9GuR2Kns2rB SjvxG7mZD++hIdRw98XEKZ18L5A2rfBFWBUMGC1fAOEHEYP70IO39ghSoKBbZE9k6xsHTH RImxZjjMpWhkpoc4VpUTZ1bsOD6DXERGQ9/38fOPlU/4Hz0wtcIsr2IFccii1XQQ3/sZq4 EH6DPMrsF9VCrSQVi2GCVXxcE5WX3t0sxC1JTqQZNYPw6usXwx6ZkNbnS2eFkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773066948; a=rsa-sha256; cv=none; b=QcItw0+SbmTUMTEjtTNu94U9TuL2d6bBoS9VHdmcC9Tfbt6KY+soubMz8d5eMsZBBtWDoh 61SgY1GiK+YBhFvBDxac1eXw7nbpN8Czoh3x1sePuH+drhQTP+HDK5NI7f+VjfyxR/YMsl GAiGflvGUuyZVfDbRP2GbIAhmhMadfYaD6KiVR3GpHPlt9DvB8DNM5qk106pzGk0Dr7Z6E nl8tW3GjBsi2CuHuajt5OJz3IbpEdNbQrDjBt4mn+RvTcYAkMx0aC0FOkLxdGFblpKbyJp DBrA8g3xqyGd4iE+YRu5mMVEIyeTF89dS2zm4zq2NsqOCs5P8EYtnlbfcgs9uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773066948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Kn/vLr1pPPfIVV0JzVPOEOekTXsJ35WMyK7lABmcCQ=; b=i7u3T2yPjIdWtWqt7/8wF8wXvsiiWHBo0UioWP9OujOZvvCyykZMtXukTKt3QLFVzkNjZh 84urUoxSihxPiJPDY3eDMJqD2sJMMOiEbU6AV9ZD9e3WUjVriZO4/haN1cDVS92naWzsUB nZHPeoUGKhPSOWHntXC5Je6F/FHowZ9CMVw/tpF6RthDXfMN+NNamPK2QiatXahoo0TU5m +cukjhBKQijU4S4F1XxjhDSjkKebd+1/bIEV+YlQIsUtyLH0zTF82MLYagThc9LErT+EJ8 vWjBolRJgXP/7X9yPicm/fEfpjash+vIq9Va6+6A+KY9EaJ0RLjLRDez0NRHbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV01J5RFhzD7f for ; Mon, 09 Mar 2026 14:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33ef1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 14:35:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: b4daeded66b5 - main - usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch) List-Id: Commit messages for the main 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4daeded66b5e950ed8e618d66915b863c2414b1 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 14:35:48 +0000 Message-Id: <69aedac4.33ef1.717b7bd3@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b4daeded66b5e950ed8e618d66915b863c2414b1 commit b4daeded66b5e950ed8e618d66915b863c2414b1 Author: Bjoern A. Zeeb AuthorDate: 2026-01-26 13:19:37 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-03-09 14:35:31 +0000 usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch) Several Realtek (and lots other) USB dongles present themselves as CDROM device first. Upon eject they do a mode switch and suddenly are a different kind of device (sometimes even with different IDs), e.g., a wireless dongle. In order to avoid the CDROM stage and rather than adding the quirk handling to more drivers, add support to umass and if enabled automatically eject the "CDROM" to make it the real device. Longer-term some other drivers could stop using their hand-rolled support for this. It is unclear as-to how much we need the list of (eject) quirks from u3g here, or if these are very specific to that kind of devices. Sponsored by: The FreeBSD Foundation Fixes: b3b6a959c85a, 9c0cce328363 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54901 --- sys/dev/usb/quirk/usb_quirk.c | 2 +- sys/dev/usb/storage/umass.c | 57 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index 04441b2a344b..303f76f37fb0 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -532,7 +532,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = { UQ_MSC_NO_INQUIRY, UQ_CFG_INDEX_0), USB_QUIRK(SMART2, G2MEMKEY, UQ_MSC_NO_INQUIRY), USB_QUIRK_REV(RALINK, RT_STOR, 0x0001, 0x0001, UQ_MSC_IGNORE), - USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_IGNORE), + USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_EJECT_SCSIEJECT), /* Non-standard USB MIDI devices */ USB_QUIRK(ROLAND, UM1, UQ_AU_VENDOR_CLASS), USB_QUIRK(ROLAND, SC8850, UQ_AU_VENDOR_CLASS), diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c index cacf4ddf8f16..0ee6ea992fa7 100644 --- a/sys/dev/usb/storage/umass.c +++ b/sys/dev/usb/storage/umass.c @@ -115,6 +115,7 @@ #include #include #include +#include #include #include @@ -124,6 +125,7 @@ #include "usbdevs.h" #include +#include #include #include @@ -705,6 +707,59 @@ static const uint8_t fake_inq_data[SHORT_INQUIRY_LENGTH] = { #define UFI_COMMAND_LENGTH 12 /* UFI commands are always 12 bytes */ #define ATAPI_COMMAND_LENGTH 12 /* ATAPI commands are always 12 bytes */ +static void +umass_autoinst_eject_quirks(void *arg __unused, struct usb_device *udev, + struct usb_attach_arg *uaa) +{ + struct usb_interface *iface; + struct usb_interface_descriptor *id; + + if (uaa->dev_state != UAA_DEV_READY) + return; + + iface = usbd_get_iface(udev, 0); + if (iface == NULL) + return; + + id = iface->idesc; + if (id == NULL || id->bInterfaceClass != UICLASS_MASS) + return; + + if (usb_test_quirk(uaa, UQ_MSC_EJECT_SCSIEJECT)) { + int error; + + error = usb_msc_eject(uaa->device, 0, MSC_EJECT_STOPUNIT); + if (error == 0) + uaa->dev_state = UAA_DEV_EJECTING; + else + printf("UMASS failed to eject by SCSI eject STOPUNIT " + "command based on quirk: %d\n", error); + } +} + +static eventhandler_tag umass_drv_evh_tag; + +static int +umass_driver_evh(struct module *mod, int what, void *arg) +{ + + switch (what) { + case MOD_LOAD: + umass_drv_evh_tag = EVENTHANDLER_REGISTER(usb_dev_configured, + umass_autoinst_eject_quirks, NULL, EVENTHANDLER_PRI_ANY); + break; + case MOD_UNLOAD: + if (umass_drv_evh_tag != NULL) + EVENTHANDLER_DEREGISTER(usb_dev_configured, + umass_drv_evh_tag); + break; + default: + return (EOPNOTSUPP); + } + + return (0); +} + static device_method_t umass_methods[] = { /* Device interface */ DEVMETHOD(device_probe, umass_probe), @@ -725,7 +780,7 @@ static const STRUCT_USB_HOST_ID __used umass_devs[] = { {USB_IFACE_CLASS(UICLASS_MASS),}, }; -DRIVER_MODULE(umass, uhub, umass_driver, NULL, NULL); +DRIVER_MODULE(umass, uhub, umass_driver, umass_driver_evh, NULL); MODULE_DEPEND(umass, usb, 1, 1, 1); MODULE_DEPEND(umass, cam, 1, 1, 1); MODULE_VERSION(umass, 1); From nobody Mon Mar 9 14:42:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV08n29jHz6Vpy8 for ; Mon, 09 Mar 2026 14:42:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV08n1h1mz4HdC for ; Mon, 09 Mar 2026 14:42:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773067337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7fAGku/mM5nqxOIvLoxlB6OqQ5dqfHwwZHND0SJeA+Y=; b=v4CphESEmogXWPc5xPN+n4LQ/cGJFnBuL7x533rCDQIfk50unl+AZVYS5S4o5/fYTMy1h9 EQnC0OlLN2IURXGuwcNrcgvaZSJt6aulWklX/agXUcWczbNoNY/AP9RThIbEUSu2zQCUlU 50YbDP7skpLi9q/f0FTRK2lAZnvtRU89DzQAZ1ooqkZo2vbS/dOOm5yc8DycW6ZVp95ixV pb1VFiLM30cf9rBCwTI4bIEGx78Jlf5k23BsJdz/n57NxPalnanMl6HME3YshHaCDM6NbE 6XZXkiGW+AzUTza7x4DP0F7J1byMn1dvs27h6scWRakzP86gi+Ii22+kwFkkdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773067337; a=rsa-sha256; cv=none; b=U5mBrHvtc54kMFO+sIRXoYvfBFisjh1uAecnMynmaFNl+TWqeETXUxpkOciBvJ6TJc2ZBK OKtaz597MOpRHvkgHxSzDAlkrNvJaeNrO0Y/6tTQaz2ZKR2Vor+p1JOQ1qxh3f21GpPhlK zI6PtMv5UGyCugiHfFdMiQVeG0DWBY6gxsvmIukkwxd4hfDuPVQSYXiDt2xc0Y7ZXDvtL9 PZs5gJL5Mqqt8TLfwigV1GwpD3wCzq3FB0O8wI6pAA/MRpOkFLy+kFs+1SBp8/q/5E+qNb ykxkVjoFMwNiNS+EouaFBiwolBPoOWx+YQyCU/3jcfZs2i08QMVhxAufkQHe1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773067337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7fAGku/mM5nqxOIvLoxlB6OqQ5dqfHwwZHND0SJeA+Y=; b=ZpwgRsmbwEuQ7OdAyjQbgBM8JFpECLbG2WTN6F7AnB6ZSpoU4hqKrZWPztQa+bN1mulyp3 Drt8AVq3FoQ2tZ4BXvAGRgljujiywEEOSlj45pNq3JrhcslxCIYZwpJgKdQa9mAs+LHK7p MwGkT/R6gM76sHl5jp8HMGUzDu3aNRFGIuZOxgqWFbjT9IliiK3ber6s392jgXlVRLi3DI oXTj7fDJXMuT/wA5Wcch7FUzT/E0Ck0Eppvv0Rx7Kj16eTq36wWwjNRXvyDeblwKQXhk1M PDKLanqIN7U4eoqp32syTxMBHQB8GQTXhKC8W1J037/rh5IfHDg5xN5b8z7MFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV08n1C8FzDQl for ; Mon, 09 Mar 2026 14:42:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37067 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 14:42:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bryan Drewery Subject: git: e2ed7ee02f6b - main - bsd.progs.mk: Fix incremental META_MODE for prog sources List-Id: Commit messages for the main 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: bdrewery X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2ed7ee02f6bda705a7c8df3c512c6a43db56830 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 14:42:17 +0000 Message-Id: <69aedc49.37067.7a1d68b1@gitrepo.freebsd.org> The branch main has been updated by bdrewery: URL: https://cgit.FreeBSD.org/src/commit/?id=e2ed7ee02f6bda705a7c8df3c512c6a43db56830 commit e2ed7ee02f6bda705a7c8df3c512c6a43db56830 Author: Bryan Drewery AuthorDate: 2026-03-07 16:38:47 +0000 Commit: Bryan Drewery CommitDate: 2026-03-09 14:38:40 +0000 bsd.progs.mk: Fix incremental META_MODE for prog sources This fixes recursed builds not having meta mode enabled for them which disabled dependency and and command change tracking. We only want common objects marked .NOMETA when recursing, not non-common objects. The common code expects _PROGS_COMMON_SRCS does not contain the prog source or else it will be marked .NOMETA. Add comments explaining the intent and cases being covered. Fixes: 4ea5e107b1 (": Allow using SRCS for common sources") Differential Revision: https://reviews.freebsd.org/D55711 Reviewed by: vexeduxr, sjg --- share/mk/bsd.progs.mk | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.progs.mk b/share/mk/bsd.progs.mk index 007e8a843944..2c6f6df33279 100644 --- a/share/mk/bsd.progs.mk +++ b/share/mk/bsd.progs.mk @@ -14,6 +14,7 @@ # we really only use PROGS below... PROGS += ${PROGS_CXX} +_save_srcs:= ${SRCS:U} .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE CSTD CXXSTD DPSRCS MAN \ @@ -91,8 +92,29 @@ $v = # Find common sources among the PROGS to depend on them before building # anything. This allows parallelization without them each fighting over # the same objects. -_PROGS_COMMON_SRCS= ${DPSRCS} ${SRCS} -_PROGS_ALL_SRCS= ${SRCS} +# +# There are 3 cases to consider. +# 1. No common sources. +# SRCS= +# SRCS.prog1= prog1.c +# SRCS.prog2= prog2.c +# 2. Common sources in all SRCS.$prog. +# SRCS= +# SRCS.prog1= prog1.c common.c +# SRCS.prog2= prog2.c common.c +# 3. Common sources in SRCS. +# SRCS= common.c +# SRCS.prog1= prog1.c +# SRCS.prog2= prog2.c +# The intent is: +# a. Only build common objects in the parent make before recursing. +# b. When recursing only build non-common objects. +# c. When recursing disable meta mode for common objects so they are not +# inspected. +# _PROGS_COMMON_SRCS is expected to only contain common sources both +# in the parent and when recursing. +_PROGS_COMMON_SRCS:= ${DPSRCS} ${_save_srcs} +_PROGS_ALL_SRCS:= ${_save_srcs} .for p in ${PROGS} .for s in ${SRCS.${p}} .if ${_PROGS_ALL_SRCS:M${s}} && !${_PROGS_COMMON_SRCS:M${s}} @@ -115,6 +137,7 @@ _PROGS_COMMON_OBJS+= ${_PROGS_COMMON_SRCS:N*.[dhly]:${OBJS_SRCS_FILTER:ts:}:S/$/ ${_PROGS_COMMON_OBJS}: .NOMETA .endif .endif +.undef _save_srcs .if !empty(PROGS) && !defined(_RECURSING_PROGS) && !defined(PROG) # tell progs.mk we might want to install things From nobody Mon Mar 9 15:15:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV0w15hrmz6VsLf; Mon, 09 Mar 2026 15:16:17 +0000 (UTC) (envelope-from pouria@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV0w14jwMz4Lv9; Mon, 09 Mar 2026 15:16:17 +0000 (UTC) (envelope-from pouria@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773069377; 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=KYGrA7Zz+vhmsVPi+ucCt6LdNTWejjCMCFazv3YqTZU=; b=MOfD8RG9yGpK76PCFxgdRHhMhOVSRIKzbRjTTH1tVgASS1coB5GcyMJvofr6pgVKwmWM2+ FyUhHym6mwSZX7OfYvn55vJ5y0yY+0tBIEayBfX5k8kaAzepoZD8Cv2E3sfc0dIQDJilYN l58ExuMyrk677bRzmybZbTkEOzg6LIr7BC4LkHcTjURFuSTfD7pEgQLo8Xc0rmLzp+HVWU Pmo+oIYxXJATU2+DPiAGtd9D7n8t6ep+EjGZadev4hr1q1e6CaB0gv5vSLtnGU8maEuapo uK7g9LHjAPkovuP3z8hU1blBr2hlBpWFJCwA9GgBLoeYoC9kJz3SYZ7+51niEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773069377; a=rsa-sha256; cv=none; b=wPJMMMFB98FX5g9CsGi8P0V+kr7zsYzPbmkYh4kHWvW9wqnMMuJDfn9ndKEgH6Q8WapAgm 1DWGxucWn199M+Z1cgZphd7XIROyqRt5EWPT0T3Jqce9HcMiQ5yzJMeWdCWUAuVxsDXZvm /1ArtjDeWp6UI6QIv/XTGADUChy8hre32bT76LjkjGXS2XmJ5cKaS/u+q2V1mmrTZyfJo0 hljAs9kRIjLgEzi9LI//lg0BiiXRlVs1CyPGZdRrIOt+p3+QziAFrUN3DeyPHPNtMMHVM+ lJhaCgBDsNGlZLZOlpPGHlrju0k7Hqus5prAFM0h8aKxtxrK6P3b9Zsa3xkwqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773069377; 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=KYGrA7Zz+vhmsVPi+ucCt6LdNTWejjCMCFazv3YqTZU=; b=KW5IcoOWn30JdJ3RlvsD58dXxuYySN2h51PHu/Y2ZKtWjSgJmH9YPINbQZDO4pUdJA795D JKmhNmE54zJcVq9OC/+NzuN4JzsY5kn0Q5rLMiZbfCGNlloPmImChWXjWY1mM3mD6je4al oqnZWFxk/JbJDMMtk9/xgGF8b8Yxr9u5pIAvp7vW+1hrCalipXtUXsynHj3M1E6R1yCoR5 DR4Sg6eacNH+Yta/3kiDlXitfN1wlAS6SylAx3APL2AZtwLEG1hWTwXTTZhLVTbrppgKsU 5cvVrixbZVqNnOkhdmD/Nui9jyDBa2zdSgBBCno+Z/l84tEuAlWSCtro83qJsQ== Received: from nl.mail.spmzt.net (mail.spmzt.net [193.148.248.214]) (using TLSv1.3 with cipher TLS_AES_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: pouria) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fV0w05PXszM5T; Mon, 09 Mar 2026 15:16:16 +0000 (UTC) (envelope-from pouria@FreeBSD.org) Received: by nl.mail.spmzt.net (OpenSMTPD) with ESMTPSA id 2b69daa4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 9 Mar 2026 18:46:08 +0330 (+0330) Message-ID: Date: Mon, 9 Mar 2026 18:45:31 +0330 List-Id: Commit messages for the main 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: fa4f625ed854 - main - acpi_system76: unbreak LINT To: John Baldwin References: <69ac7b46.250e5.986d69e@gitrepo.freebsd.org> Content-Language: en-US, fa-IR Cc: dev-commits-src-main@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Pouria Mousavizadeh Tehrani In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------LunO4NMWDzSzBuD0tK6iNz4p" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------LunO4NMWDzSzBuD0tK6iNz4p Content-Type: multipart/mixed; boundary="------------tRFDUCA9xdXDbpIfc1I36sqS"; protected-headers="v1" Message-ID: Date: Mon, 9 Mar 2026 18:45:31 +0330 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: fa4f625ed854 - main - acpi_system76: unbreak LINT To: John Baldwin References: <69ac7b46.250e5.986d69e@gitrepo.freebsd.org> Content-Language: en-US, fa-IR Cc: dev-commits-src-main@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Pouria Mousavizadeh Tehrani In-Reply-To: --------------tRFDUCA9xdXDbpIfc1I36sqS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMy85LzI2IDU6MTIgUE0sIEpvaG4gQmFsZHdpbiB3cm90ZToNCj4gRllJLCBJIGJlbGll dmUgdGhlIGNvbW1vbiBzdHlsZSBpcyB0byBsZWF2ZSBhIGJsYW5rIGxpbmUgYmV0d2VlbiAN Cj4gIm9wdF9mb28uaCIgI2luY2x1ZGVzIGFuZA0KPiBvdGhlciAjaW5jbHVkZXMuwqAgKEkg YW0gbm90IHN1cmUgaWYgc3R5bGUoOSkgY292ZXJzIHRoaXMgY2FzZS4pDQoNClRoYW5rIHlv dSBmb3IgbGV0dGluZyBtZSBrbm93Lg0KSSdsbCBzdHlsZSBpdCBpbiB0aGUgbmV4dCBjaGFu Z2UuDQoNCi0tIA0KUG91cmlhDQo= --------------tRFDUCA9xdXDbpIfc1I36sqS-- --------------LunO4NMWDzSzBuD0tK6iNz4p Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQSqt7cppfvJ816gj0lUwVnUeMwagAUCaa7kFAAKCRBUwVnUeMwa gLDvAQC8ADKCzZl1Bcm7GN+ZgYX/fN9I/Uwp0xLmRyy18Gm9JgEAo1AKqh7SUkFE CgOcMamnfmDv8sXF5qvRqilvGuTO/ww= =AXwt -----END PGP SIGNATURE----- --------------LunO4NMWDzSzBuD0tK6iNz4p-- From nobody Mon Mar 9 16:38:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV2l52pZbz6TTqs for ; Mon, 09 Mar 2026 16:38:41 +0000 (UTC) (envelope-from bounce.d8jjtdlhmetof83=41ayc1zbp314=yxtdrkunectmi0@return.smtpservice.net) Received: from e3i531.smtp2go.com (e3i531.smtp2go.com [158.120.86.19]) (using TLSv1.3 with cipher TLS_AES_256_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 4fV2l51X8kz3Kgm for ; Mon, 09 Mar 2026 16:38:41 +0000 (UTC) (envelope-from bounce.d8jjtdlhmetof83=41ayc1zbp314=yxtdrkunectmi0@return.smtpservice.net) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smtpservice.net; i=@smtpservice.net; q=dns/txt; s=a1-4; t=1773074317; h=feedback-id : x-smtpcorp-track : date : message-id : to : subject : from : reply-to : sender : list-unsubscribe : list-unsubscribe-post; bh=IWgZyHABWKYN1DiRQDarLERHtJuJ8IqGYhmYjp+KdRU=; b=gv/5oQHzx8uzGVu5yOBHNU1BiFEFciUPlRVNqktn7L84pm5FJv6WMC1zcFF1EnlFtUash 1PiPCWzKW0eP51gutR90q4MtY0KkSq8IaAoWXxmT1s816IGaF5YH+iot8xMt3BM4zoQW8Ff 5FpVSV3v56gWJdCPVzfbrJCjJ2l913hUa4EXu/qHd6+Wk4Lj2hAn0I2l/Xywq74VhXWYvyD J71Lf2zpuExkx6BODGQayxTT05WonOxrqVlIbAZgnuxZ+IZagG4EHnNT2JAKniT28itqT4U 9vGKitqIxk5ULWfS4Ri/3Ae4nPt+TdDBZ/c0LPHvJAuZNWrQhaakxKBsznUg== Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.99.1-S2G) (envelope-from ) id 1vzdcq-4o5NDgroRPr-kLOy; Mon, 09 Mar 2026 16:38:36 +0000 Received: from smtpclient.apple (unknown [IPv6:2a02:8012:a6a8:0:8835:d8b5:711e:47ee]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id 6282F4773E; Mon, 09 Mar 2026 16:38:35 +0000 (UTC) From: Andrew Turner Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_35E9251D-96F6-4D90-905F-5A2D21E10EAE" List-Id: Commit messages for the main 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 \(3826.700.81\)) Subject: Re: git: c499ad6f997c - main - virtio: Use bus_dma for ring and indirect buffer allocations Date: Mon, 9 Mar 2026 16:38:24 +0000 In-Reply-To: <87ecludxuh.wl-herbert@gojira.at> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Sarah Walker To: "Herbert J. Skuhra" References: <69a71c75.40215.43f39fc6@gitrepo.freebsd.org> <87ecludxuh.wl-herbert@gojira.at> X-Mailer: Apple Mail (2.3826.700.81) X-Report-Abuse: Please forward a copy of this message, including all headers, to Feedback-ID: 790814m:790814amQcrys:790814sxRKYBK6LQ X-smtpcorp-track: MUdSO7U2WIbX.v4ktMWbc4p3j.3HqbgQqrupt 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:23352, ipnet:158.120.84.0/22, country:US] X-Rspamd-Queue-Id: 4fV2l51X8kz3Kgm X-Spamd-Bar: ---- --Apple-Mail=_35E9251D-96F6-4D90-905F-5A2D21E10EAE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 8 Mar 2026, at 17:39, Herbert J. Skuhra wrote: >=20 > On Tue, 03 Mar 2026 18:37:57 +0100, Andrew Turner wrote: >>=20 >> The branch main has been updated by andrew: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc499ad6f997c8c5f61c88925e6d1e826= d0c0f6c4 >>=20 >> commit c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 >> Author: Sarah Walker >> AuthorDate: 2026-03-03 16:08:11 +0000 >> Commit: Andrew Turner >> CommitDate: 2026-03-03 16:29:15 +0000 >>=20 >> virtio: Use bus_dma for ring and indirect buffer allocations >>=20 >> While the majority of virtio platforms will be fully coherent, = some may >> require cache maintenance or other specific device memory handling = (eg for >> secure partitioning). Using bus_dma allows for these usecases. >>=20 >> The virtio buffers are marked as coherent; this should ensure that = sync >> calls are no-ops in the common cases. >>=20 >> Reviewed by: andrew >> Sponsored by: Arm Ltd >> Differential Revision: https://reviews.freebsd.org/D54959 >> --- >> sys/dev/virtio/virtio_ring.h | 27 ++++-- >> sys/dev/virtio/virtqueue.c | 216 = +++++++++++++++++++++++++++++++++++++------ >> 2 files changed, 209 insertions(+), 34 deletions(-) >=20 > After this change I see a lot of "kernel: vtnet0: watchdog timeout on > queue xx" errors on amd64 (arm64 seems to be OK). >=20 > Reverting this commit resolves the issue. Can you try the change in https://reviews.freebsd.org/D55766? It re-adds = memory barriers for amd64. Andrew --Apple-Mail=_35E9251D-96F6-4D90-905F-5A2D21E10EAE Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
On 8 Mar = 2026, at 17:39, Herbert J. Skuhra <herbert@gojira.at> = wrote:

On Tue, 03 Mar 2026 = 18:37:57 +0100, Andrew Turner wrote:

The branch main has been updated by = andrew:

URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc499ad6f997c8c5f61c88925e6d1e826= d0c0f6c4

commit = c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4
Author: =     Sarah Walker = <sarah.walker2@arm.com>
AuthorDate: 2026-03-03 16:08:11 = +0000
Commit:     Andrew Turner = <andrew@FreeBSD.org>
CommitDate: 2026-03-03 16:29:15 = +0000

   virtio: Use bus_dma for ring and indirect = buffer allocations

   While the majority of virtio = platforms will be fully coherent, some may
   require = cache maintenance or other specific device memory handling (eg = for
   secure partitioning). Using bus_dma allows for = these usecases.

   The virtio buffers are marked = as coherent; this should ensure that sync
   calls are = no-ops in the common cases.

   Reviewed by: =    andrew
   Sponsored by: =   Arm Ltd
   Differential Revision: =  https://reviews.freebsd.org/D54959
---
sys/dev/virtio/virtio_r= ing.h |  27 ++++--
sys/dev/virtio/virtqueue.c   | 216 = +++++++++++++++++++++++++++++++++++++------
2 files changed, 209 = insertions(+), 34 deletions(-)

After = this change I see a lot of "kernel: vtnet0: watchdog timeout = on
queue xx" errors on = amd64 (arm64 seems to be OK).

Reverting this commit resolves the = issue.

Can you try the change = in https://reviews.freebsd.org/D= 55766? It re-adds memory barriers for = amd64.

Andrew

= --Apple-Mail=_35E9251D-96F6-4D90-905F-5A2D21E10EAE-- From nobody Mon Mar 9 17:18:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV3cz27gmz6TXmp for ; Mon, 09 Mar 2026 17:18:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV3cz0vyZz3QXk for ; Mon, 09 Mar 2026 17:18:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773076707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3ctg7zqq4yK9ZYpzdahhvITnLuSU+NtVSuyxkiVvTw=; b=mmZoJgjUZaBqvu0QzC0dgL+YUe7cqdGxdjVksmCcNKacWK82xtFTVp0OM7+7+/Zvo57EyZ hqzzvhmFg2ks+iJxs5V1x9BVIhgMx+b4WOPT2wJ/ZgndZ1pVIqBmoFAFY6c2sx7truhaXu mVhlMURHiS++UPZ3nVU17FFFB+hjWmRhdg/KI1RzMbSTS/V8BMpStgEDct4DX05v8gPduA X6niFb61qdRkCQ8QSnCwIGFgEM4xtgH0kLs+da+dhPc2lsLxUGKpUmVuGpsN8Ftm1n0tdd QAZiF/xdkWNaS+AsbfJkeQWZIMxNEDuv+sGAp1QVAsGWKvbgLnZpXmc67H8Y2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773076707; a=rsa-sha256; cv=none; b=eLrbVsKwOBcbvC2uA5szeQlWRsQ3I+cZ2PfKAfUJh6E+4lqFblSZAawteJQaDCkVESIGfd KvVnR22NXrEOha6Tjl8If281aF7vYChxCPzpg69DO189NtnHfJYcHNFwaUOrD8cbYbUnsA WTQpXQlk7cI9YGWxPnfYs1P0Hcp9j2r6vKxl//pjRm8IzhFat0Kr9C1cUUaLBcHhwYGFdt +1RH8l/TqASaBxVij46plNltesA2POLKqEFq9c1kT9H9pEJgK60K2t9gDg2ZJGLzRAbOLd X6tVkpdckgVH2w+mBHy91HB7gqilQWJVRRm0woOb5uT05E2BvW3ZaDNlBFhdqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773076707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3ctg7zqq4yK9ZYpzdahhvITnLuSU+NtVSuyxkiVvTw=; b=cHxi4lZyWEu9w4eT6D5n2ilTitpeWPfOmc/rCuZkExJNA3ee7NT6A0MStBkmFnOqRddLvm K0H6g/gMXOHr0+I4ERZgPmfuhXYpX7poqG//E5kUpA1ysjAuSbViGlnGx5ffp7aeh2bpba 783AzLgOw6jqRx22IRBpcgSdfpCFngz4wmUq5pduMveuRTHllzxyn19+6hB1BNZrBXYeUs ZIOiJsCMD9mrRbS6R9ZqIouTtHeN7v4kI9p0EiDepKxO+/8OVb/uOBCdL8cchUAG4+7lQc tUkE7AnVPOZf2DSoAwIVAXXikb1lvuH3S1i8tnPo1/ox5ckrSR+EJQbmvnXlAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV3cz080QzbWs for ; Mon, 09 Mar 2026 17:18:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 454bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 17:18:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 87c6ec168579 - main - cxgbetool: create one backend routine for all the loadX cmds List-Id: Commit messages for the main 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: 87c6ec16857939693ee4d5bef9e8aa8b04bad5dc Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 17:18:26 +0000 Message-Id: <69af00e2.454bf.7c493fdc@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=87c6ec16857939693ee4d5bef9e8aa8b04bad5dc commit 87c6ec16857939693ee4d5bef9e8aa8b04bad5dc Author: Navdeep Parhar AuthorDate: 2026-03-08 19:34:15 +0000 Commit: Navdeep Parhar CommitDate: 2026-03-09 17:04:37 +0000 cxgbetool: create one backend routine for all the loadX cmds They are all doing almost the same thing so it makes sense to have one common routine. The new routine supports non-regular files too. eg. # cxgbetool chnex0 loadfw <(fetch -qo - http://srv/t7fw.bin) MFC after: 1 week Sponsored by: Chelsio Communications Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D55747 --- usr.sbin/cxgbetool/cxgbetool.c | 164 ++++++++++++++++------------------------- 1 file changed, 62 insertions(+), 102 deletions(-) diff --git a/usr.sbin/cxgbetool/cxgbetool.c b/usr.sbin/cxgbetool/cxgbetool.c index 68de86d74092..49ba547e5dae 100644 --- a/usr.sbin/cxgbetool/cxgbetool.c +++ b/usr.sbin/cxgbetool/cxgbetool.c @@ -2169,16 +2169,19 @@ get_sge_context(int argc, const char *argv[]) } static int -loadfw(int argc, const char *argv[]) +real_load_file(unsigned long ioc, const char *iocname, const char *fname, + struct t4_bootrom *br) { - int rc, fd; + int rc, fd, n; struct t4_data data = {0}; - const char *fname = argv[0]; struct stat st = {0}; + const int bufsz = 2 * 1024 * 1024; - if (argc != 1) { - warnx("loadfw: incorrect number of arguments."); - return (EINVAL); + if (strcmp(fname, "clear") == 0) { + if (br == NULL) + return (real_doit(ioc, &data, iocname)); + else + return (real_doit(ioc, br, iocname)); } fd = open(fname, O_RDONLY); @@ -2193,61 +2196,75 @@ loadfw(int argc, const char *argv[]) return (errno); } - data.len = st.st_size; - data.data = mmap(0, data.len, PROT_READ, MAP_PRIVATE, fd, 0); - if (data.data == MAP_FAILED) { - warn("mmap"); - close(fd); - return (errno); + if (st.st_mode & S_IFREG) { + data.len = st.st_size; + data.data = mmap(0, data.len, PROT_READ, MAP_PRIVATE, fd, 0); + if (data.data == MAP_FAILED) { + warn("mmap %u", data.len); + return (errno); + } + } else { + data.data = malloc(bufsz); + if (data.data == NULL) { + warnx("malloc failed."); + return (ENOMEM); + } + for (data.len = 0; data.len <= bufsz; data.len += n) { + n = read(fd, data.data + data.len, bufsz - data.len); + if (n == -1) { + warn("read(%s, %u)", fname, data.len); + free(data.data); + close(fd); + return (errno); + } + if (n == 0) + break; + } + if (data.len == bufsz) + warnx("file '%s' contents > %u ignored.", fname, bufsz); } - rc = doit(CHELSIO_T4_LOAD_FW, &data); - munmap(data.data, data.len); + if (br == NULL) + rc = real_doit(ioc, &data, iocname); + else { + br->len = data.len; + br->data = data.data; + rc = real_doit(ioc, br, iocname); + } + if (st.st_mode & S_IFREG) + munmap(data.data, data.len); + else + free(data.data); close(fd); return (rc); } +#define load_file(ioc, fname) real_load_file(ioc, #ioc, fname, NULL) +#define load_file_br(ioc, fname, br) real_load_file(ioc, #ioc, fname, br) static int -loadcfg(int argc, const char *argv[]) +loadfw(int argc, const char *argv[]) { - int rc, fd; - struct t4_data data = {0}; const char *fname = argv[0]; - struct stat st = {0}; if (argc != 1) { - warnx("loadcfg: incorrect number of arguments."); + warnx("loadfw: incorrect number of arguments."); return (EINVAL); } - if (strcmp(fname, "clear") == 0) - return (doit(CHELSIO_T4_LOAD_CFG, &data)); - - fd = open(fname, O_RDONLY); - if (fd < 0) { - warn("open(%s)", fname); - return (errno); - } + return (load_file(CHELSIO_T4_LOAD_FW, fname)); +} - if (fstat(fd, &st) < 0) { - warn("fstat"); - close(fd); - return (errno); - } +static int +loadcfg(int argc, const char *argv[]) +{ + const char *fname = argv[0]; - data.len = st.st_size; - data.len &= ~3; /* Clip off to make it a multiple of 4 */ - data.data = mmap(0, data.len, PROT_READ, MAP_PRIVATE, fd, 0); - if (data.data == MAP_FAILED) { - warn("mmap"); - close(fd); - return (errno); + if (argc != 1) { + warnx("loadcfg: incorrect number of arguments."); + return (EINVAL); } - rc = doit(CHELSIO_T4_LOAD_CFG, &data); - munmap(data.data, data.len); - close(fd); - return (rc); + return (load_file(CHELSIO_T4_LOAD_CFG, fname)); } static int @@ -2317,12 +2334,10 @@ done: static int loadboot(int argc, const char *argv[]) { - int rc, fd; long l; char *p; struct t4_bootrom br = {0}; const char *fname = argv[0]; - struct stat st = {0}; if (argc == 1) { br.pf_offset = 0; @@ -2344,75 +2359,20 @@ loadboot(int argc, const char *argv[]) return (EINVAL); } - if (strcmp(fname, "clear") == 0) - return (doit(CHELSIO_T4_LOAD_BOOT, &br)); - - fd = open(fname, O_RDONLY); - if (fd < 0) { - warn("open(%s)", fname); - return (errno); - } - - if (fstat(fd, &st) < 0) { - warn("fstat"); - close(fd); - return (errno); - } - - br.len = st.st_size; - br.data = mmap(0, br.len, PROT_READ, MAP_PRIVATE, fd, 0); - if (br.data == MAP_FAILED) { - warn("mmap"); - close(fd); - return (errno); - } - - rc = doit(CHELSIO_T4_LOAD_BOOT, &br); - munmap(br.data, br.len); - close(fd); - return (rc); + return (load_file_br(CHELSIO_T4_LOAD_BOOT, fname, &br)); } static int loadbootcfg(int argc, const char *argv[]) { - int rc, fd; - struct t4_data bc = {0}; const char *fname = argv[0]; - struct stat st = {0}; if (argc != 1) { warnx("loadbootcfg: incorrect number of arguments."); return (EINVAL); } - if (strcmp(fname, "clear") == 0) - return (doit(CHELSIO_T4_LOAD_BOOTCFG, &bc)); - - fd = open(fname, O_RDONLY); - if (fd < 0) { - warn("open(%s)", fname); - return (errno); - } - - if (fstat(fd, &st) < 0) { - warn("fstat"); - close(fd); - return (errno); - } - - bc.len = st.st_size; - bc.data = mmap(0, bc.len, PROT_READ, MAP_PRIVATE, fd, 0); - if (bc.data == MAP_FAILED) { - warn("mmap"); - close(fd); - return (errno); - } - - rc = doit(CHELSIO_T4_LOAD_BOOTCFG, &bc); - munmap(bc.data, bc.len); - close(fd); - return (rc); + return (load_file(CHELSIO_T4_LOAD_BOOTCFG, fname)); } /* From nobody Mon Mar 9 17:43:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV49n4T3Sz6TZH6 for ; Mon, 09 Mar 2026 17:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV49n3dskz3W3H for ; Mon, 09 Mar 2026 17:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773078205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FivjyOaq5/1IH2dFP4+shk+Ug4uXFWem5wYbf9JbpN0=; b=eF0e2bRJ/KIMWWoY5Gq0d2NW3E40YYRsaI/5pfJrNEBk6fGa+vhP8go9+piAwqBaHzfwhH VZtaicsUJJvTtaRpmryvT5qBquNoyYrinnb5P3aCE+OiTE5dcvUad7sLDYcLjgu70j0m/T kw2gf4VRiWwMLOvXTyr4DhtuTvE2biyihwyCHLKIylehepwxrobaQVrkJw+xpU1ZOZ2lGo gsqq90pbKmGh0tT3hID31nyUDtZrWL07nVCpBhfRG10SgtA428P8rXxhBFuCeToor0rd3o dyx6Sonj4uxTw3fa10/Qfeqrq5pq95FviQ7gRoZUXiyHJNxYlFzCfVH+NNj+bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773078205; a=rsa-sha256; cv=none; b=snDYfwkcE1Mh6Vu5tWNa9ymSZQ8/f8LY66Dsnp3VYaB/5Di7YgkYZ215bUzjEn0DYS33kS auAz12VvwOSuSUVo647XrimDpegfWkX28H+tJkf5Ag6D+yRwjLbSADqPdk5KvB9MMzs399 NTEjaLKmnJZ0z+dj9ZK2x6wZVVuCKH6g7YrVG10qvzaFZbcqsRxIAPxcJK3MlXz/OkgcwJ 8pG31mFa2x4D27krEQQRY+aHRsy3xvcUeEO2OJyedFsi3EMl/lYOLbzrwdP4AEXnm/DGLm LQ0jvUYOWnp+WVPcuPNAluqIK0nTfU4lLaMe7hJnB6JLtxWNMDnYOogAxihD5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773078205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FivjyOaq5/1IH2dFP4+shk+Ug4uXFWem5wYbf9JbpN0=; b=dWGcZuRHYYdU2yeJ836/6ub+0L52VUs4a3Fg8Ms3glvnkh6NSZnBuFw7K4W/l9HudilzOP lh8rp2KkHnymBuFG9ZfaRQwLAw1e0mm0h5RmovftkRlFsApDaWSW9GztTMzJ/uxlS/jlG8 8oS0PVektgrQ+WEKuNIJXb8uzrprBsW8gltkrBuQ4lXiW//7z79nqBYI7Luhq+brPB69iI pWIL4BBil3IkFKSU405Vf7npNSUQMZFmkXoM1DfMITncMPxaoQd0aMeeG1GJNilcSsoDhb siklDelG6DZ7vrEv7GGktULKtXiLV1HSfw1hNxhTiTAxHNdXbeDn9oMehcoADg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV49n35j6zbnm for ; Mon, 09 Mar 2026 17:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1952b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 17:43:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 6560ee97e8f5 - main - igc.4: Describe better List-Id: Commit messages for the main 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: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6560ee97e8f51d5147521319dfd9d1e7afe74d34 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 17:43:25 +0000 Message-Id: <69af06bd.1952b.4ede4342@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=6560ee97e8f51d5147521319dfd9d1e7afe74d34 commit 6560ee97e8f51d5147521319dfd9d1e7afe74d34 Author: Alexander Ziaee AuthorDate: 2026-03-09 16:34:00 +0000 Commit: Alexander Ziaee CommitDate: 2026-03-09 17:43:10 +0000 igc.4: Describe better MFC after: 3 days --- share/man/man4/igc.4 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man4/igc.4 b/share/man/man4/igc.4 index a67ed1c15ee8..757c7dd4510d 100644 --- a/share/man/man4/igc.4 +++ b/share/man/man4/igc.4 @@ -1,14 +1,14 @@ -.\"- +.\" .\" Copyright 2021 Intel Corp .\" Copyright 2021 Rubicon Communications, LLC (Netgate) .\" SPDX-License-Identifier: BSD-3-Clause .\" -.Dd January 9, 2023 +.Dd March 9, 2026 .Dt IGC 4 .Os .Sh NAME .Nm igc -.Nd "Intel Ethernet Controller I225 driver" +.Nd Intel Ethernet Controller I225 2.5GbE driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -77,7 +77,7 @@ mode is supported at this speed. .Sh HARDWARE The .Nm -driver supports the following models: +driver supports the following 2.5Gb Ethernet controllers: .Pp .Bl -bullet -compact .It From nobody Mon Mar 9 18:25:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV56Y1rf5z6TgKb; Mon, 09 Mar 2026 18:25:41 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from fout-a7-smtp.messagingengine.com (fout-a7-smtp.messagingengine.com [103.168.172.150]) (using TLSv1.3 with cipher TLS_AES_256_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 4fV56X4DBJz3kgv; Mon, 09 Mar 2026 18:25:40 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; none Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfout.phl.internal (Postfix) with ESMTP id 2F802EC0D71; Mon, 9 Mar 2026 14:25:39 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-10.internal (MEProxy); Mon, 09 Mar 2026 14:25:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gojira.at; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1773080739; x=1773167139; bh=ZF6gVt9Dia SAFaPaEj3oodOilyXef49HYC5+14JOrZc=; b=Y8O3dQwbL6l6LIHb7uhb8PJ21N yTZ4e94Cavsfqee/mGCvlbr0RtwW6uvfpTBsaD76P0oUvRBFiT48l4WDBVOPbsfQ A/MUTz4NEXxp3KZR4o6R5c+iv7UIjHp2UvK2veKIqJ3421uhsqr6Lauvs+tUZGuu Oh89pC4KRAGmfVuBx7wOOV2AhBEIq6QyVBLiD4ISMUSOPWtyZAK31mWhlMeEhFxp 4DfGV5Ibv/C+6Y4r1HJS4qhqUxH3E1YAMXNalDUbSDgasyVxk0+Xdc9R2Ve8rMo4 i8nNFmxh32QPGlQsgONGu6Lt+X/iZZzaFRO/fnkIYDU9a3u4YYlQIkZd9mdg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1773080739; x=1773167139; bh=ZF6gVt9DiaSAFaPaEj3oodOilyXef49HYC5 +14JOrZc=; b=oJP66tQLibj9Sc/FbUP0kXeGce8ALnc/0f2nGPMgDjLXL0CJdCK BYvYd/Z+rV9U7r5POcb2+d0P8+xZXHuA3ilrDZejNhJ86kBZiL+U4+kHh7OelRx3 tpH4aOzh74BVrOtBBem70YW7gPEqn3SJqVTxC4U5paDCBWQa4XaPuSP6FgbYwC0G FlrfeF3pKUTNk4w/7I/lBfr8NDnICKlmFpYp4WQpnZz8XRE56YfaJwkO7gViXWtf ndn/KGUxeuP2u1r3SBPWMRIVQa0SXQwdSBX6HBUUBrWBIcldjM1nYDD3Vw55XnjB ian6++e/GbqLRypYmMx7Bu33POD7qJoxAuw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvjeekkeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffkhffvvefujghffgggtgesthdtredttdervdenucfhrhhomhepfdfjvghrsggv rhhtucflrdcuufhkuhhhrhgrfdcuoehhvghrsggvrhhtsehgohhjihhrrgdrrghtqeenuc ggtffrrghtthgvrhhnpeefhfehffegvdehuedtuefgkeefieffieejhfeggeekgeevjeeg feffgeeglefhtdenucffohhmrghinhepfhhrvggvsghsugdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhvghrsggvrhhtsehgohhj ihhrrgdrrghtpdhnsggprhgtphhtthhopeehpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegrnhgurhgvfiesfhhrvggvsghsugdrohhrghdprhgtphhtthhopehsrhgtqdgt ohhmmhhithhtvghrshesfhhrvggvsghsugdrohhrghdprhgtphhtthhopeguvghvqdgtoh hmmhhithhsqdhsrhgtqdgrlhhlsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepuggv vhdqtghomhhmihhtshdqshhrtgdqmhgrihhnsehfrhgvvggsshgurdhorhhgpdhrtghpth htohepshgrrhgrhhdrfigrlhhkvghrvdesrghrmhdrtghomh X-ME-Proxy: Feedback-ID: i64fe486c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 9 Mar 2026 14:25:37 -0400 (EDT) Date: Mon, 09 Mar 2026 19:25:32 +0100 Message-ID: <87pl5c5083.wl-herbert@gojira.at> From: "Herbert J. Skuhra" To: Andrew Turner Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Sarah Walker Subject: Re: git: c499ad6f997c - main - virtio: Use bus_dma for ring and indirect buffer allocations In-Reply-To: References: <69a71c75.40215.43f39fc6@gitrepo.freebsd.org> <87ecludxuh.wl-herbert@gojira.at> 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:151847, ipnet:103.168.172.0/24, country:AU] X-Rspamd-Queue-Id: 4fV56X4DBJz3kgv X-Spamd-Bar: ---- On Mon, 09 Mar 2026 17:38:24 +0100, Andrew Turner wrote: > > > > On 8 Mar 2026, at 17:39, Herbert J. Skuhra wrote: > > > > On Tue, 03 Mar 2026 18:37:57 +0100, Andrew Turner wrote: > >> > >> The branch main has been updated by andrew: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 > >> > >> commit c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 > >> Author: Sarah Walker > >> AuthorDate: 2026-03-03 16:08:11 +0000 > >> Commit: Andrew Turner > >> CommitDate: 2026-03-03 16:29:15 +0000 > >> > >> virtio: Use bus_dma for ring and indirect buffer allocations > >> > >> While the majority of virtio platforms will be fully coherent, some may > >> require cache maintenance or other specific device memory handling (eg for > >> secure partitioning). Using bus_dma allows for these usecases. > >> > >> The virtio buffers are marked as coherent; this should ensure that sync > >> calls are no-ops in the common cases. > >> > >> Reviewed by: andrew > >> Sponsored by: Arm Ltd > >> Differential Revision: https://reviews.freebsd.org/D54959 > >> --- > >> sys/dev/virtio/virtio_ring.h | 27 ++++-- > >> sys/dev/virtio/virtqueue.c | 216 +++++++++++++++++++++++++++++++++++++------ > >> 2 files changed, 209 insertions(+), 34 deletions(-) > > > > After this change I see a lot of "kernel: vtnet0: watchdog timeout on > > queue xx" errors on amd64 (arm64 seems to be OK). > > > > Reverting this commit resolves the issue. > > Can you try the change in https://reviews.freebsd.org/D55766? It re-adds memory barriers for amd64. Yes, the patch seems to resolve the issue. Thanks. From nobody Mon Mar 9 18:34:43 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV5K55Ghhz6TjGn for ; Mon, 09 Mar 2026 18:34:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV5K50WBkz46ZP for ; Mon, 09 Mar 2026 18:34:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773081289; 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; bh=H+KHBVkc/zUq7piuY3FEiQYceJ7gogEm+7vr/L29zmo=; b=RCBbl2rZAkK/1rYhfhCuNMuZDuzIdvrRvCnek+l4Wna8ErKc7A+AHVoe6Dt0gOUnIfLfyj mxNnCETAJs/PxDKZnMViRBmYwW2ws2rPW+TPJpzvxRm4U7rW2kToYJFoQnhHAC3VJUmEkU piS6fWFfJaj2nc8rmvHFDCCj+6VGtBu2EKcR9HFUIdLxiC2wt+R/Z6/vlnMaxQaJsJifcc fFUJte57fB09kg4nWgKOXpLZzN18kAqcHxbQhi6WingXCnczIL1El9OKtjO4aEic7dTKg6 T8ZghbzdtEh0dQllTcoTpANXVIR52D6zVcyjkenSM7Un9W6ptBBHWslhUAK76Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773081289; a=rsa-sha256; cv=none; b=qgQ5B29Qd03Ezcej8aNSR0k8DyVFQ05QNTg9U2QDYjWSGTNwrQZwYV6B+QFfvUeLcIpUxa nzU32wfF5tdviz4adD44MT00jP2eWqVQ9DvPnnE836pVPdnKv4KoNQY2pzJgUjuHuOBZj1 Jgp0HbZH2HEtZB0z9RMsh22mUHlfQfDZ+QEHcu42f3ful65SWaVkfZ6RMjHR/7lZY2U9PF RBwgmCeuqoQLG9oyr9zYcqnMYQJKlOhrQzkwCji4rxeExbZcoGM4PgpsbavrRdjUm6S51Q BHZgDVP5/YgBxCc/nl4J1oIXM5Ab0SvglB5Kqft9CXnOQm64LS117dQqLSIpNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773081289; 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; bh=H+KHBVkc/zUq7piuY3FEiQYceJ7gogEm+7vr/L29zmo=; b=bwTsxIz7nzXkjWAvs4ql59dgea3J5CTjfSxXq1WAcMjWGjUGT3nrYNtR+/nfGLp2lItfVQ UYDiM1P1186SvXm5v9z6z7k2ShFm7XtQwS81L91veBtu7UrIgSyTGYbb5wowoxVU+epygD fTAYP3cCUc8DA9LZyc8r/XgNOVodOyEfEhtJyIKlJxSkM2dW9dyc9L4I405Xb45fydWh0n /32YxisC5qovwocz4CKT6cWjRazhXIJWxAXfth8wIbZXSrlnMXHS7BWxMsRXc2JyNrqPuo +WMhYebj8Nt6XmOCfN7mQEmGmJ1UoxDKDDebF2huFNUmClzv/eeCMsAPtV3d8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV5K46wJNzdjj for ; Mon, 09 Mar 2026 18:34:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fb37 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 18:34:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Ed Maste Subject: git: 6ccfa67ac422 - main - Fix typos in manual pages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 6ccfa67ac422a307c3e9624fb080d9616b0c6b05 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 18:34:43 +0000 Message-Id: <69af12c3.1fb37.3fd5aa85@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6ccfa67ac422a307c3e9624fb080d9616b0c6b05 commit 6ccfa67ac422a307c3e9624fb080d9616b0c6b05 Author: Christos Longros AuthorDate: 2026-03-09 18:33:32 +0000 Commit: Ed Maste CommitDate: 2026-03-09 18:34:27 +0000 Fix typos in manual pages bpf.4: accomodate -> accommodate hier.7: compatability -> compatibility namei.9: succesfull -> successful Signed-off-by: Christos Longros Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55746 --- share/man/man4/bpf.4 | 2 +- share/man/man7/hier.7 | 2 +- share/man/man9/namei.9 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man4/bpf.4 b/share/man/man4/bpf.4 index dcf321c40782..107d531cb466 100644 --- a/share/man/man4/bpf.4 +++ b/share/man/man4/bpf.4 @@ -293,7 +293,7 @@ The can be used to limit the output to first .Va count entries, otherwise shall be 0. -On return, if the buffer length was enough to accomodate all desired entries, +On return, if the buffer length was enough to accommodate all desired entries, then the supplied buffer is filled with NUL-terminated names of available tapping points and .Vt bi_count diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index c438511678d4..6abce682b627 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -511,7 +511,7 @@ local library headers .It Pa lib/ local libraries .It Pa lib32/ -local 32-bit compatability libraries +local 32-bit compatibility libraries .It Pa libdata/ local utility data files .It Pa libexec/ diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index a42043587432..d920f4e934aa 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -443,7 +443,7 @@ The .Vt struct namei member .Dv ni_resflags -returns the following flags giving some details of the succesfull operation: +returns the following flags giving some details of the successful operation: .Bl -tag -width NIRES_EMPTYPATH .It Dv NIRES_ABS The path passed was absolute. From nobody Mon Mar 9 19:05:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV61027Mwz6TlTm for ; Mon, 09 Mar 2026 19:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV6101VhHz3pGy for ; Mon, 09 Mar 2026 19:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773083156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gx4tWZeKtVZygXhoN8cJQ1ogN5wWq7JXOPDeXjL2BwM=; b=tYuz80STHvLyJCL5oHc/DIgy6TCuMSxwiXxXFQlGUZ2iyxoIt4capNPpaAbXCX3ugdKBrM 96+cpi5r8XuMqasVflJ/otAMEGNTsZZrguWrzV8011a/Ap15OZdIVwwYYD440xCQ2ahi/W jNCsy04fS4514gHIDuz6WE/UcGXo2FBQ9YzDhVamepwoUNkgLv73MZBqGSwQ8rcjhd4mft Pm91pdj479dcgLiAN2lFfIhCSCZscuJI4E6ZFizzkNwhoMeAWY9UzgBr2pwfT8k10/+QGJ DgocR8kD8jmxOn/f7Wp53ivxwMkArMWWXFjb2P1eVm2rLv1P1XZyrIYPUD6Avg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773083156; a=rsa-sha256; cv=none; b=p/35SRiSE51U+R34O34+jgORqqVewQjZkAPA92baW5ah24hT5572sNkbJivGRRvsNsgvai s3A6DFhVSccjEfSDkZi0fB1iOMPcJvWGcV9LgY1VbpR2ikG9as2qvTMrpNpi38P1ax0gzo glKZYAt1ZFYNSD6fgcvOZVKFSRd1QZScpuPEliTbm8YJ5kDEiiGHygLXSybJKWV1yPd9Zz 3bUii8YqJV1D/QYURtZMvzEJlm6kZpD7tdAGOHEcR1fpvYl6O5wAV+MHrD93/yHPkDhA6h woFvbeoTTO1QC9gUqTP/LGG+0bPWzdSWMSOfifWRLjgXeTukJYEQFJaJSJIvFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773083156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gx4tWZeKtVZygXhoN8cJQ1ogN5wWq7JXOPDeXjL2BwM=; b=pdn1unn2+DNiQXDP4ivO/iKyNyeceQ8y3wJgbl0UTmECfwBVkYjrHhBpovoGfQJ4kbOmwh FdHcJcE0ReOoUEgua1WE4oq+6pHZwOwwA8wXQ+51vyXesUoDh05DtFEj0bbjhwjDyUdX2E F1psKL151m/QjAoXnPiE41J3ZokGU4Rt8LHyQt+RdbMcflZtdLx2Rl123zcMwwf1ngsQVh x1hUZAFYV58xpRXwes8qYfJ8ny+/Y7XThtOkpITHmgOk6TaXA4HNaYijUrAfBoJ2uu9Et3 wBDQ3Y5eLKJOl0uWjJBkFYgw35/nfiSlCQ/4VgVVX2sS7BmwHrWICfVL1axong== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV61015Hbzfrs for ; Mon, 09 Mar 2026 19:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 235dd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 19:05:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: f37fbe30f559 - main - ndp: implement delayed anycast and proxy NA List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f37fbe30f559acfb269f67d3efe59569878a3ee1 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 19:05:56 +0000 Message-Id: <69af1a14.235dd.3027cfe1@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f37fbe30f559acfb269f67d3efe59569878a3ee1 commit f37fbe30f559acfb269f67d3efe59569878a3ee1 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-09 17:00:15 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-09 19:00:49 +0000 ndp: implement delayed anycast and proxy NA Reviewed by: bms Differential Revision: https://reviews.freebsd.org/D55141 --- sys/netinet6/nd6.h | 3 ++ sys/netinet6/nd6_nbr.c | 78 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 24 deletions(-) diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index eca9f6262568..d9fccce33980 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -155,11 +155,13 @@ struct in6_ndifreq { /* ND6 queue flags */ #define ND6_QUEUE_FLAG_NEWGUA 0x01 /* new global unicast address event */ #define ND6_QUEUE_FLAG_LLADDR 0x02 /* link-layer address change event */ +#define ND6_QUEUE_FLAG_ANYCAST 0x04 /* delay NA for anycast or proxy address */ /* protocol constants */ #define MAX_RTR_SOLICITATION_DELAY 1 /* 1sec */ #define RTR_SOLICITATION_INTERVAL 4 /* 4sec */ #define MAX_RTR_SOLICITATIONS 3 +#define MAX_ANYCAST_DELAY_TIME 1 /* 1sec */ #define ND6_INFINITE_LIFETIME 0xffffffff @@ -373,6 +375,7 @@ void nd6_dad_start(struct ifaddr *, int); void nd6_dad_stop(struct ifaddr *); void nd6_grand_start(struct ifaddr *, uint32_t); void nd6_queue_stop(struct ifaddr *); +void nd6_delayed_na_start(struct ifaddr *, struct in6_addr *, u_int, uint32_t); /* nd6_rtr.c */ void nd6_rs_input(struct mbuf *, int, int); diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 6a1f29c31eed..0a34e0e3628e 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -124,6 +124,7 @@ SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_ONLINKNSRFC4861, struct nd_queue { TAILQ_ENTRY(nd_queue) ndq_list; struct ifaddr *ndq_ifa; + struct in6_addr ndq_daddr; uint32_t ndq_flags; struct callout ndq_callout; }; @@ -355,8 +356,17 @@ nd6_ns_input(struct mbuf *m, int off, int icmp6len) rflag |= ND_NA_FLAG_SOLICITED; } - nd6_na_output_fib(ifp, &saddr6, &taddr6, rflag, tlladdr, - proxy ? (struct sockaddr *)&proxydl : NULL, M_GETFIB(m)); + /* + * RFC 4861, anycast or proxy NA sent in response to a NS SHOULD + * be delayed by a random time between 0 and MAX_ANYCAST_DELAY_TIME + * to reduce the probability of network congestion. + */ + if (anycast == 0 && proxy == 0) + nd6_na_output_fib(ifp, &saddr6, &taddr6, rflag, tlladdr, + proxy ? (struct sockaddr *)&proxydl : NULL, M_GETFIB(m)); + else + nd6_delayed_na_start(ifa, &saddr6, arc4random() % + (MAX_ANYCAST_DELAY_TIME * hz), ND6_QUEUE_FLAG_ANYCAST); freeit: if (ifa != NULL) ifa_free(ifa); @@ -648,10 +658,6 @@ nd6_ns_output(struct ifnet *ifp, const struct in6_addr *saddr6, * * Based on RFC 2461 * Based on RFC 2462 (duplicate address detection) - * - * the following items are not implemented yet: - * - proxy advertisement delay rule (RFC2461 7.2.8, last paragraph, SHOULD) - * - anycast advertisement delay rule (RFC2461 7.2.7, SHOULD) */ void nd6_na_input(struct mbuf *m, int off, int icmp6len) @@ -966,10 +972,6 @@ nd6_na_input(struct mbuf *m, int off, int icmp6len) * * Based on RFC 2461 * - * the following items are not implemented yet: - * - proxy advertisement delay rule (RFC2461 7.2.8, last paragraph, SHOULD) - * - anycast advertisement delay rule (RFC2461 7.2.7, SHOULD) - * * tlladdr: * - 0x01 if include target link-layer address * - 0x02 if target address is CARP MASTER @@ -1669,7 +1671,6 @@ nd6_queue_timer(void *arg) struct ifaddr *ifa = ndq->ndq_ifa; struct ifnet *ifp = ifa->ifa_ifp; struct in6_ifextra *ext = ifp->if_inet6; - struct in6_addr taddr6 = IN6ADDR_ANY_INIT; struct epoch_tracker et; int delay, tlladdr; u_long flags; @@ -1685,12 +1686,10 @@ nd6_queue_timer(void *arg) flags &= ~ND_NA_FLAG_ROUTER; /* - * RFC 9131 Section 6.1.2: if new global address added, - * use the all-routers multicast address. - * If the address is preferred, then the Override flag SHOULD NOT be set. + * RFC 9131 Section 6.1.2: If the address is preferred, + * then the Override flag SHOULD NOT be set. */ if ((ndq->ndq_flags & ND6_QUEUE_FLAG_NEWGUA) != 0) { - taddr6 = in6addr_linklocal_allrouters; /* * XXX: If the address is in the Optimistic state, * then the Override flag MUST NOT be set. @@ -1700,29 +1699,31 @@ nd6_queue_timer(void *arg) flags |= ND_NA_FLAG_OVERRIDE; } /* - * RFC 4891 Section 7.2.6: if link-layer address changed, - * use the all-nodes multicast address. + * RFC 4861 Section 7.2.6: if link-layer address changed, * The Override flag MAY be set to either zero or one. */ - if ((ndq->ndq_flags & ND6_QUEUE_FLAG_LLADDR) != 0) { - taddr6 = in6addr_linklocal_allnodes; + if ((ndq->ndq_flags & ND6_QUEUE_FLAG_LLADDR) != 0) flags |= ND_NA_FLAG_OVERRIDE; - } + /* anycast advertisement delay rule (RFC 4861 7.2.7, SHOULD) */ + if ((ndq->ndq_flags & ND6_QUEUE_FLAG_ANYCAST) != 0) + flags |= ND_NA_FLAG_SOLICITED; /* Wait at least a RetransTimer before removing from queue */ delay = ext->nd_retrans * hz / 1000; callout_reset(&ndq->ndq_callout, delay, nd6_queue_rel, ndq); IF_ADDR_WUNLOCK(ifp); - if (__predict_true(in6_setscope(&taddr6, ifp, NULL) == 0)) - nd6_na_output_fib(ifp, &taddr6, IFA_IN6(ifa), flags, tlladdr, NULL, ifp->if_fib); + if (__predict_true(in6_setscope(&ndq->ndq_daddr, ifp, NULL) == 0)) + nd6_na_output_fib(ifp, &ndq->ndq_daddr, IFA_IN6(ifa), flags, tlladdr, + NULL, ifp->if_fib); NET_EPOCH_EXIT(et); CURVNET_RESTORE(); } static void -nd6_queue_add(struct ifaddr *ifa, int delay, uint32_t flags) +nd6_queue_add(struct ifaddr *ifa, struct in6_addr *daddr, + int delay, uint32_t flags) { struct nd_queue *ndq; struct ifnet *ifp = ifa->ifa_ifp; @@ -1749,6 +1750,7 @@ nd6_queue_add(struct ifaddr *ifa, int delay, uint32_t flags) ndq->ndq_ifa = ifa; ifa_ref(ndq->ndq_ifa); + memcpy(&ndq->ndq_daddr, daddr, sizeof(struct in6_addr)); ndq->ndq_flags = flags; TAILQ_INSERT_TAIL(&ext->nd_queue, ndq, ndq_list); @@ -1765,6 +1767,7 @@ nd6_grand_start(struct ifaddr *ifa, uint32_t flags) { struct nd_queue *ndq; struct in6_ifextra *ext = ifa->ifa_ifp->if_inet6; + struct in6_addr daddr = IN6ADDR_ANY_INIT; int delay, count = 0; NET_EPOCH_ASSERT(); @@ -1794,8 +1797,22 @@ nd6_grand_start(struct ifaddr *ifa, uint32_t flags) return; } + /* + * RFC 9131 Section 6.1.2: if new global address added, + * use the all-routers multicast address. + */ + if ((flags & ND6_QUEUE_FLAG_NEWGUA) != 0) + daddr = in6addr_linklocal_allrouters; + + /* + * RFC 4861 Section 7.2.6: if link-layer address changed, + * use the all-nodes multicast address. + */ + if ((flags & ND6_QUEUE_FLAG_LLADDR) != 0) + daddr = in6addr_linklocal_allnodes; + delay = ext->nd_retrans * hz / 1000; - nd6_queue_add(ifa, count * delay, flags); + nd6_queue_add(ifa, &daddr, count * delay, flags); } /* @@ -1817,3 +1834,16 @@ nd6_queue_stop(struct ifaddr *ifa) } IF_ADDR_WUNLOCK(ifa->ifa_ifp); } + +/* + * Send delayed NA for specified address. + * Called by nd6_ns_input for anycast or proxy NA + */ +void +nd6_delayed_na_start(struct ifaddr *ifa, struct in6_addr *daddr, + u_int delay, uint32_t flags) +{ + + NET_EPOCH_ASSERT(); + nd6_queue_add(ifa, daddr, delay, flags); +} From nobody Mon Mar 9 19:40:42 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV6n64JQMz6TpTp for ; Mon, 09 Mar 2026 19:40: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV6n63ZNRz40XQ for ; Mon, 09 Mar 2026 19:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773085242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WDw70knxISdJ6l3K4HeKosOW3gmULFLg3wY/gIcrokw=; b=ycQsCMttFS/3sVAmwONDbZP45kH6ESzxpRjQO7266KyoOQe/H3t3VevA/6AOaUfAEtql7A yEz/po+Kc5jXZJcmLa1ZPHv1ORkld+vsR0j2EBk1KuNMytsDt+BnrC3lUT82v2eeELMylq F7oWfc12J3qQYI58s78KX7SiECRgdyPuZQFaKhuwspcX3U2OkPcGrR4OdIvtxZapbs8tEQ KS2Fo/xnbjcWGnRW23F+8ZJ2ZclqjgHE5Qy1/5ZD50PY548qKmmDR0Iq0JsKYCEu8I3evl ARFKIaRhUjYv8qxAPg5bRZcFAPWiExHctNlsM6z0qYQYfDipnLSfgkYd3X5+qA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773085242; a=rsa-sha256; cv=none; b=iciq8njKPsmJrgAxaNROw+JArblcglgt2nI7KgbSxKx9wQPTDMawumC0Ypa/80wtbKQ3LT uBiP23yVlyYK/l/TSryGU2WaA1UuorBPCyPH8qeKID6WfAmmUsWnE3uC1zUF+vBUU5wuKl Q/NUkNsZpfGFagGZhTnh/vMgv/LAgxq99J2DzPwOoWc3JpzDWdqZI4ldtVaWPF8JgcX39f ViNyRnMrQ4eITE2Na50HO7RvlmM/Y7Qmvu4zsqcr3CDoButqIaP+K6uuwqMrqru0V0urdE iR4DCQjRERJiqJOzSFVdRkcSvkK2gOrBjh6GYZMes4dWc16CYzNYjsQ9O2HpKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773085242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WDw70knxISdJ6l3K4HeKosOW3gmULFLg3wY/gIcrokw=; b=hrMaoDt7faGG7An0SDb6EMU8vaZOPjHdYIiiVaD7MvgSjRW/CaPLsaAXJb4I6dRjsex3H7 yK+LhyAbAWnxPG/co5Gv3h8EU5D7CPC2Ru0HmeZR+aQ7v3zRwHMZLgE+fo+a4dqlBTLzd6 W+8DtdhEs+5JgO5wy8WIVaufOyTjSHlFGDdEtIcSm5kRnB4d2QMAsuOy7BCEAwoevWFhGb zE3uAbYGy/LRVuOo0w7MNNt29ZXxpuvicTxToGxVw07yMy6KAaVIChcAXgs+9ZsUd9kC7h tsjcnxTVb00zwj9ulniovJKsbMBMu6X6LDbmR4mmy678Z3hyYk+oy/DwfQrADg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV6n6339GzgKs for ; Mon, 09 Mar 2026 19:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25cfb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 19:40:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 72f0bc868bf0 - main - share/dict/web2: Sort List-Id: Commit messages for the main 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: 72f0bc868bf00586cba1e50057d8f1998b4abe80 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 19:40:42 +0000 Message-Id: <69af223a.25cfb.2e75232d@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=72f0bc868bf00586cba1e50057d8f1998b4abe80 commit 72f0bc868bf00586cba1e50057d8f1998b4abe80 Author: Ed Maste AuthorDate: 2026-03-09 19:35:53 +0000 Commit: Ed Maste CommitDate: 2026-03-09 19:40:31 +0000 share/dict/web2: Sort PR: 293659 Fixes: e49b6ead4114 ("Add a number of five letter words to the dictionary") --- share/dict/web2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/dict/web2 b/share/dict/web2 index bcb6b779d634..5e7369d565b6 100644 --- a/share/dict/web2 +++ b/share/dict/web2 @@ -31891,7 +31891,6 @@ caul cauld cauldrife cauldrifeness -caulk Caulerpa Caulerpaceae caulerpaceous @@ -31914,6 +31913,7 @@ cauline caulis Caulite caulivorous +caulk caulocarpic caulocarpous caulome @@ -78895,7 +78895,6 @@ Gonzalo goo goober good -gooey Goodenia Goodeniaceae goodeniaceous @@ -78926,6 +78925,7 @@ goodyish goodyism goodyness goodyship +gooey goof goofer goofily From nobody Mon Mar 9 20:41:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV8782cRnz6TvK1 for ; Mon, 09 Mar 2026 20:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV8781h16z3F3H for ; Mon, 09 Mar 2026 20:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773088884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTX6Krqe1+ZRfeewM4r3dmvKNQGsNuhMMp6+2R2zv2w=; b=PXiI7rLLt+kwJVnA/7V3bHRP9tRu6F2EX63bfEJ8mnk1Y9FnusY3D4E4RfxXoX8wxYj8Ly 8Gt+b8MaLuhsTEKhGD29c6jD+LP9jiavLISgK/tswBjvd3ZYbrNe6xFAfNZf6l1yTaFblN Sron9au4EBHAj0FmxqwyDbNouxApIiLH5g74Mw5ORdpdGEn5k6x6sMKQAM7vQjjoF6wauI yEFF1hBwoLO2tQMwr3Wne8UGN+7rWLwXZ6l5kHzJIEZT1fIe7eJiR33cdnDE0ZDr0XgKgQ dVdoTn6+ER5SQW5ysILA7nIR7kuYKA2+IQ8eTyLhzPtHg/9Hy1teIf1GsETUlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773088884; a=rsa-sha256; cv=none; b=E7hXE0lGYnCscRfeplLIc3Bf5P41QRzqok/qAlx3/ajuMJc8gf5n7gt00yK8SH72WV0w2C 2B2wLJgsLBlCXpKKhw2U+YH5ZaiA3VrSAfgbPFktfhyyIErh699A/Vp8CRIB1Ek/Fm4dMw fM5i6fCTLhT//N/MWprN2gWAranz3L1qtDFVpMmftVVFaZJy9h2X2Jcj8vB95qvvr6vcHh f7TitN30sIn/rb0yXX4TZ0xjlNBdtAqEbaG55dW306vfMx+FyRgA+TDX/2Llk0PtdFZ0xk QcHy5m1zMX8Dgr1PfHU3gAk/rnXlvZSxT572aJxeDf3culVatzJBD6kz6fW94A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773088884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTX6Krqe1+ZRfeewM4r3dmvKNQGsNuhMMp6+2R2zv2w=; b=uYvpoRJRA9rY38RO1W0hLQ39lV+hwYGwFMurv1FRc3uuOtkt3qz59W7v3PHz5AfSeztVYl qxxG9kXPAk+Qotmr7L93opSahvq2X2uI1Vm+wMVA7/7xItvaFYCG6ClkLZ2AcD3MGa+Ig2 VL4ze5d2gY1QSATF8EcVfIwfRT5ylNNamKT5D5RzgLNnP+YP5vSq4/qp9hJAn0un9ry81H BLC5NrKpNqmPyq/0rEEsij8tMPoLz3BxsAKqWvt3frYwHp4neihGVwkFoyE2o2vEXsK0Vu lKvCR9V0Yab5ER+NBoQ3wtvPYnKXRREK/9mnyfHnlGs+Bg1Woxlu+VTDZj3zQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV87819ypzhmL for ; Mon, 09 Mar 2026 20:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 361d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 20:41:24 +0000 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=B8rg?=rav Subject: git: 48368f702423 - main - system(3): Address test robustness issue List-Id: Commit messages for the main 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: 48368f702423742b2a7dff7ad3191625e8bf26f0 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 20:41:24 +0000 Message-Id: <69af3074.361d5.acc2bce@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=48368f702423742b2a7dff7ad3191625e8bf26f0 commit 48368f702423742b2a7dff7ad3191625e8bf26f0 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-09 20:41:04 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-09 20:41:04 +0000 system(3): Address test robustness issue Don't assume that SIGINT and SIGQUIT are set to SIG_DFL at the start of the test. Instead, retrieve their current dispositions and verify that they are restored at the end of the test. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55709 --- lib/libc/tests/stdlib/system_test.c | 38 ++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/lib/libc/tests/stdlib/system_test.c b/lib/libc/tests/stdlib/system_test.c index b6a31583d52d..cb6ecdb28065 100644 --- a/lib/libc/tests/stdlib/system_test.c +++ b/lib/libc/tests/stdlib/system_test.c @@ -92,6 +92,12 @@ system_thread(void *arg) return ((void *)(intptr_t)system(cmd)); } +static inline int +sigcmpset(const sigset_t *a, const sigset_t *b) +{ + return (memcmp(a, b, sizeof(sigset_t))); +} + ATF_TC(system_concurrent); ATF_TC_HEAD(system_concurrent, tc) { @@ -99,7 +105,8 @@ ATF_TC_HEAD(system_concurrent, tc) } ATF_TC_BODY(system_concurrent, tc) { -#define N 3 + enum { N = 3 }; + struct sigaction sigint, sigquit, sigact; sigset_t normset, sigset; pthread_t thr[N]; char fn[8]; @@ -119,8 +126,10 @@ ATF_TC_BODY(system_concurrent, tc) ATF_REQUIRE_EQ(0, symlink(fn, fn)); } - /* Get the current and expected signal mask */ - sigprocmask(0, NULL, &normset); + /* Save the current signal dispositions */ + ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigint)); + ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigquit)); + ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &normset)); /* Spawn threads which block on these files */ for (int i = 0; i < N; i++) { @@ -140,10 +149,12 @@ ATF_TC_BODY(system_concurrent, tc) /* Release the locks */ for (int i = 0; i < N; i++) { /* Check the signal dispositions */ - ATF_CHECK_EQ(SIG_IGN, signal(SIGINT, SIG_IGN)); - ATF_CHECK_EQ(SIG_IGN, signal(SIGQUIT, SIG_IGN)); + ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); + ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler); + ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact)); + ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler); #ifndef PROCMASK_IS_THREADMASK - sigprocmask(0, NULL, &sigset); + ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset)); ATF_CHECK(sigismember(&sigset, SIGCHLD)); #endif @@ -156,11 +167,16 @@ ATF_TC_BODY(system_concurrent, tc) } /* Check the signal dispositions */ - ATF_CHECK_EQ(SIG_DFL, signal(SIGINT, SIG_DFL)); - ATF_CHECK_EQ(SIG_DFL, signal(SIGQUIT, SIG_DFL)); - sigprocmask(0, NULL, &sigset); - ATF_CHECK_EQ(0, memcmp(&sigset, &normset, sizeof(sigset_t))); -#undef N + ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); + ATF_CHECK_EQ(sigquit.sa_handler, sigact.sa_handler); + ATF_CHECK_EQ(sigquit.sa_flags, sigact.sa_flags); + ATF_CHECK_EQ(0, sigcmpset(&sigquit.sa_mask, &sigact.sa_mask)); + ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact)); + ATF_CHECK_EQ(sigint.sa_handler, sigact.sa_handler); + ATF_CHECK_EQ(sigint.sa_flags, sigact.sa_flags); + ATF_CHECK_EQ(0, sigcmpset(&sigint.sa_mask, &sigact.sa_mask)); + ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset)); + ATF_CHECK_EQ(0, sigcmpset(&sigset, &normset)); } ATF_TP_ADD_TCS(tp) From nobody Mon Mar 9 21:04:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV8fF0rT0z6TwZk for ; Mon, 09 Mar 2026 21:04:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV8fF0FPQz3Ly0 for ; Mon, 09 Mar 2026 21:04:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773090293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hYSSR9bqVIBDN6w+cA7YcB1hBNFSs5ZXdUN8yszSB5g=; b=HNjx973MiI58d0Qn9x1zvRcjn/Mp2Acf0KSTqMk43Oz00ify4JYwbVHbJyg9ALE6D20nzK Kv7I/iflA8oCr5luuygNcaisiljrRrHhtcMhkD1VxRwVy5XG+n5BQ4zSLvcQ+xbh//XNuf 1Pa1xJkh9LZGs4jZu0+UCTB86y2BTErh5kvQ/O7/z+bhYFpwaWirlzCzMrTvJWEpMGkJFL 7YENCZvkvWyRCsQUQctsIuTRHYVTCQRpAnf9jGivPRpXjyXPpYAWyvqDc0EgE3hUDRP/fO rGlWg86T94nuEZNUGWm0wan1YiHthgDmPTja/2jqf7qsf8VhQDBrhtQuPkad+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773090293; a=rsa-sha256; cv=none; b=xbkcMCMyNtrtZqUBItDKUZwiT3dWdnIxgzyaDCUnjYLSMAdqKeAhHfOyG1TrAXDV+xXskz R/rOmnQig210GndQEzW42Sqk1cJwdkN4AobMC2uU7Qedqy8oePWzpEJTXCABkjmanQVdGE cr/sm5xqrMEnwIdIfqXS9uCCFgxjQapDPL+Xw7NX5eLA+ykDRemAE2196h0rim0WjGnYpB 7NU72y4zOs52WXDQG+uAKKGvngliBXALuPKZigXyXj5U7olEmaKUALvuyZQFVTmbp2pdnv M6SWRnfH5PNnn5zkUyRRuyEgQljDw3i7v5ojYoun5ERYejZEWq0epDM6sJpBDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773090293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hYSSR9bqVIBDN6w+cA7YcB1hBNFSs5ZXdUN8yszSB5g=; b=hb32cLohGi9ysMo62cif7P6wcoTDa99hYj+T09CKXRu+ODM31LITe1P17rWo2VdmXq5rCl jW/CMJhKAm2TU3I7Ni3nwRXegUAslYprmkbMTkobqiAFBANn2TE6zsDldMqfiayC4P+oPA TdjeWMcZ9C4fBzhfFQgw9436r0DQA7VL1NHKNwrJrHmXXXShCA1A7XieCmMe8/xUjNmqtm LLYjpmX93vab75JMHO9o5dDkAqZu86AWmzfiMvgYxK6miKV3qZaMN0OTHSLuG1YP/VqZW+ WwE7Vf8Ci8D/oCXQL+1l5+zw9C0+cT/+IC+d8iCiG6+klz8ly0xR8x9gGgQ0WA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV8fD6BJHzjrx for ; Mon, 09 Mar 2026 21:04:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 374ca by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 21:04:52 +0000 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=B8rg?=rav Subject: git: 863b5c137a98 - main - system(3): Fix brain glitch in previous commit List-Id: Commit messages for the main 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: 863b5c137a98d29dc6964cba0e0c4fe2a8bebab8 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 21:04:52 +0000 Message-Id: <69af35f4.374ca.7489b814@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=863b5c137a98d29dc6964cba0e0c4fe2a8bebab8 commit 863b5c137a98d29dc6964cba0e0c4fe2a8bebab8 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-09 21:00:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-09 21:01:41 +0000 system(3): Fix brain glitch in previous commit We were saving SIGINT twice instead of SIGINT and SIGQUIT. Also restore original order of operations (SIGINT then SIGQUIT), which matches the order in which they're discussed in the POSIX description of system(3). MFC after: 1 week Sponsored by: Klara, Inc. Fixes: 48368f702423 ("system(3): Address test robustness issue") --- lib/libc/tests/stdlib/system_test.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/libc/tests/stdlib/system_test.c b/lib/libc/tests/stdlib/system_test.c index cb6ecdb28065..9e556f257791 100644 --- a/lib/libc/tests/stdlib/system_test.c +++ b/lib/libc/tests/stdlib/system_test.c @@ -128,7 +128,7 @@ ATF_TC_BODY(system_concurrent, tc) /* Save the current signal dispositions */ ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigint)); - ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigquit)); + ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigquit)); ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &normset)); /* Spawn threads which block on these files */ @@ -149,10 +149,10 @@ ATF_TC_BODY(system_concurrent, tc) /* Release the locks */ for (int i = 0; i < N; i++) { /* Check the signal dispositions */ - ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); - ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler); ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact)); ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler); + ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); + ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler); #ifndef PROCMASK_IS_THREADMASK ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset)); ATF_CHECK(sigismember(&sigset, SIGCHLD)); @@ -167,14 +167,14 @@ ATF_TC_BODY(system_concurrent, tc) } /* Check the signal dispositions */ - ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); - ATF_CHECK_EQ(sigquit.sa_handler, sigact.sa_handler); - ATF_CHECK_EQ(sigquit.sa_flags, sigact.sa_flags); - ATF_CHECK_EQ(0, sigcmpset(&sigquit.sa_mask, &sigact.sa_mask)); ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact)); ATF_CHECK_EQ(sigint.sa_handler, sigact.sa_handler); ATF_CHECK_EQ(sigint.sa_flags, sigact.sa_flags); ATF_CHECK_EQ(0, sigcmpset(&sigint.sa_mask, &sigact.sa_mask)); + ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact)); + ATF_CHECK_EQ(sigquit.sa_handler, sigact.sa_handler); + ATF_CHECK_EQ(sigquit.sa_flags, sigact.sa_flags); + ATF_CHECK_EQ(0, sigcmpset(&sigquit.sa_mask, &sigact.sa_mask)); ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset)); ATF_CHECK_EQ(0, sigcmpset(&sigset, &normset)); } From nobody Mon Mar 9 21:39:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV9QT1b7jz6V072 for ; Mon, 09 Mar 2026 21:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV9QT0vvrz3PWK for ; Mon, 09 Mar 2026 21:39:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773092385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gtR9skqJgEIDj2Bn4hJYBqAEuf7le4TGQlw/IWzzWpg=; b=i5fXjE1PZy5ryAOpQEHjxQ8PrC+F6sz2PYcWCfQ2LV0P51iQdWLEWSvk8pdmbsMwbXQpQ5 ifrBUIxF5SDxMpaIOFQI3LVJ/3zSUTWM0JMMrV6ZZYvqbZTiivjC9uXHGTVLdFQVQM5+dI //4NRhQxwMD4wtyVVfkQ5q9wbuICNo0JTMfSD5S4nIdoTiwh2bWgcdAekKwEBDrmlDlvKG xzhIem7HOgBRuNUhVA1bRd/3Be8HB6vWIalfgunjB01jJDQaBB60DdnHUhY6nC8wz4HUDn qKUQ2wVZnGQQH5dOpsVXubwWPbrOshuCk8tn3Sg0a8GtFN2P2hurKYexOETWwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773092385; a=rsa-sha256; cv=none; b=cfsEmrqfm+QX9dUwawv1BcY0ohXuJ/W8eifrzFI1nFXFKvQ+TziCHMcWLShKm8/YffSpbC N9ClxvUly2LlSFcMr5fSGxuJ5qnTz/uS9m9bR9D4mx7barnkXvVsXk86UZeNuWFoA5Km80 KV5HViUBpkR1Pp6jnvB87WxRx0vvPv5tNCbZJwpXm4Fjq2grs0Veebnagftk80cJerYwMq xBKiy1U9Vvk8f0Grzmqc5M8ev5pp4epvl1JUfa8pYUMCAX7iupD2FAKeYppqYZj1z/dbjz 4EnXWL2NqrwkCwkleYP+ZzE0xtoxdYYlNOfqRyUXSg3zubzNy19SF302StW73g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773092385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gtR9skqJgEIDj2Bn4hJYBqAEuf7le4TGQlw/IWzzWpg=; b=sjOwxFRvRN+PpYhC4uCUpj0AIcfOIub3gQCsJNzAExfLCr8xmwki5goxmOdDqpWDvAlW+e QxGYFApQvOkBktndTyPB/rDNF5wwrf5+4MT+dcaOpY7zfNMivKq3yzk+dBIoYZ2M5Zg0Mq QgvOpRAtUIsizW9wIgkZrpJaJcAv4NTKxMDzoQUj/fvYhOOhyZGlW7KzvvZyI4Uo6BvDQm 0lONrDPLLF3bPfAiC+vWKbJgwC2cB+HREniSRdm83LaRr8WtkFW6u1AbPmr7O//ExhdkUf bTEvrZbvSpZhcn18SuK0gE6XzzE63oKJOvUpeX0vMIIbeRISBbkEENgYdXSnwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV9QT0HHWzkC6 for ; Mon, 09 Mar 2026 21:39:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b94e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 21:39:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: bc531a96c9b2 - main - stand: lua: break out a few more dirent types in lfs List-Id: Commit messages for the main 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: bc531a96c9b28b1cabcd5deb0c9f8f6d815cfebc Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 21:39:45 +0000 Message-Id: <69af3e21.3b94e.30938090@gitrepo.freebsd.org> The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bc531a96c9b28b1cabcd5deb0c9f8f6d815cfebc commit bc531a96c9b28b1cabcd5deb0c9f8f6d815cfebc Author: Kyle Evans AuthorDate: 2026-03-09 21:38:57 +0000 Commit: Kyle Evans CommitDate: 2026-03-09 21:39:10 +0000 stand: lua: break out a few more dirent types in lfs These are non-standard and specific to the version used in loader. We have some desire to recognize symlinks to avoid filtering out kernel symlinks in the autodetection bits when they would be perfectly fine to `load`. This won't be usable right away, so any impending use will need to be careful to account for nil. Reported by: leres --- libexec/flua/lfs/lfs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libexec/flua/lfs/lfs.c b/libexec/flua/lfs/lfs.c index 517e16ae65c8..a3594d2b7d97 100644 --- a/libexec/flua/lfs/lfs.c +++ b/libexec/flua/lfs/lfs.c @@ -444,6 +444,10 @@ luaopen_lfs(lua_State *L) /* Non-standard extension for loader, used with lfs.dir(). */ lua_pushinteger(L, DT_DIR); lua_setfield(L, -2, "DT_DIR"); + lua_pushinteger(L, DT_REG); + lua_setfield(L, -2, "DT_REG"); + lua_pushinteger(L, DT_LNK); + lua_setfield(L, -2, "DT_LNK"); #endif return 1; } From nobody Mon Mar 9 21:47:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fV9bw2Fk3z6V0Zk for ; Mon, 09 Mar 2026 21:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fV9bw1fKCz3QJW for ; Mon, 09 Mar 2026 21:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773092876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=woKjSErnYp64uGYi5D9hamEGHg1ePmHe+1Wp1VJAZ7E=; b=jIgUuekYQBRM3VLYsDV5bvPzLja1fpuQbLGRyLLU28sCuV3yx01LhwT9PNmmvXrKPEtl5A a2yV2jSCIgZyk/MZPnci0JfJOlWH4gLE3rfH8NWQ2U+ad054fq1laFB+VRowLld/yYIHDm EGXXpvIHbKBSuGs+qZ5RCIrhpVLm1Ychze7eGAhzf809BWYQxF6VAonB5MhmoKRS1aIIdk qHzvWshtlegl/h+2xxQpi5sycCZswwIQRtqe/sIxeGshoSIKAjqGCs2/MG6tnbw+Uc5Jen A64Kb6D4MCkM18mB017Hz0ONTiP3MlgD/HST582A9tDlGSzT7NlbijdVy1r82Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773092876; a=rsa-sha256; cv=none; b=kG2bBbsMB86icshgZdANLRUnWVM4Yb8ANjeODtssqp0gkmOv2nn5caBLw2hMsoYJCK/bfw JrLZOklqeSGWwOMOMyicxgTltPe+4ck+V3b9yo6RK/fUHSeLlgQsLCKQHXuch4NDmgPs8G tzpi8s72fBoLjeWPDDWAES21/8dCX0l7fUHlCQXWz8r4XGNY21X0ZyhAWtOvVeh8QGsOVK zd8bHCW0bGxYs+AFhrNki9CchAtMCZ1fg0c64SRxKf9yUhPqoDDawXYan2OatlJuS7Jhdo 2dI73Fq/3mMnJ/F7/QfwphaDzXxEOs/3KMt/WJVXUvKTchyqebH5ENPuSGj0tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773092876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=woKjSErnYp64uGYi5D9hamEGHg1ePmHe+1Wp1VJAZ7E=; b=Zzn+VL6ZWG2fX/zKhqqNCmLqo/dXsCUxI9sWFoJvvwvxKeTvKlzhy3mMAe7awXM8k1Ho+/ QmC3f82u1oiD+hlBf1djbMzg66iILK3zosvKcVr3EGnvOgeopKB+4/jA6WGBLdlp3sRRz5 4qFJBVrls1pf2LpoiYIzmOdZrwodT59HE03IV0uIo/CGvpbCL2Il0FawKW1p512sMEhJag MQC9ystr+wSFpT8TMJmUCwPhQ4PBQpvphLiKUt4fYIcIyI0hESex1b7bdwREZjW69UmJ7y BDU6JUGXigxKGYbBXUadgPZEkXAhwAfhqY+jQCY1ySd7apBdeqEMNGTzpcBVYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fV9bw1FdTzkk8 for ; Mon, 09 Mar 2026 21:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3be4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 21:47:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Craig Leres Subject: git: e6d579be4255 - main - core.lua: follow symlinks when looking for bootable kernels List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: leres X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6d579be42550f366cc85188b15c6eb0cad27367 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 21:47:56 +0000 Message-Id: <69af400c.3be4b.1e02aa00@gitrepo.freebsd.org> The branch main has been updated by leres: URL: https://cgit.FreeBSD.org/src/commit/?id=e6d579be42550f366cc85188b15c6eb0cad27367 commit e6d579be42550f366cc85188b15c6eb0cad27367 Author: Craig Leres AuthorDate: 2026-03-09 21:47:10 +0000 Commit: Craig Leres CommitDate: 2026-03-09 21:47:47 +0000 core.lua: follow symlinks when looking for bootable kernels PR: 293654 Reviewed by: kevans Approved by: kevans Differential Revision: https://reviews.freebsd.org/D55713 --- stand/lua/core.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/lua/core.lua b/stand/lua/core.lua index b1b321d10868..92cbd20b25a0 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -255,7 +255,7 @@ function core.kernelList() end if ftype then - if ftype ~= lfs.DT_DIR then + if ftype ~= lfs.DT_DIR and ftype ~= (lfs.DT_LNK or 10) then goto continue end elseif lfs.attributes(fname, "mode") ~= "directory" then From nobody Tue Mar 10 01:43:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVGqH312Vz6VKlM for ; Tue, 10 Mar 2026 01:43: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVGqH1ykmz438V for ; Tue, 10 Mar 2026 01:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773106987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=npVEWZcRBlk5tur+rP/w8f2tXaCBR81G4i27LkQrFvc=; b=t5jnaWoDJdHPV4IAQI/2/Jb12IoFL9pnnRTTSqSDH20io+FT6TZFqOh3FqAAeqR6qjSQ7J wHOqLeHjn41QvtPwRW9sAhmV/Xki3yIOKnwZdqbtIzWtujJAFMmwwLxm6I+DIEVt13D9P6 MAfKV01YEmWP5tjcFee743Axm9zJHiiSaADiH59FSvjIyyLsmCzmLv6ZRJaBnHlNAFr8Dv 7SkHoiMcgNahgv/NXGT0jSS8I0+FTUzrSc1fldATKxkxsxSKIbSIML2M9VIdInlyWLgZkh VTGMdsW9aj3FZUNkfN0DH76dE6FHtkzBDsuEFILOWVA9ewnvZmLCetkqS/gwgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773106987; a=rsa-sha256; cv=none; b=eH3FqY90MIClcsbxGOfOWNoJyea+mrqNRTiQrWVdO81hposFid924qte/u8mq1ArTuw1p1 eYhESnaR6uxEJLBSErDDZuVfrFV3c1bvxhQvUFMOYZUJRZ4ghHaCWLlOI8vznY8Fz1QmZW 0aXPoRBHcTalOhJ/6gjEsKShtyUef5oatL53EcFzbMu1Jvlzdn42mis17nr0/vEDRQdOAu QNXCIReKv9vxMu5yFDzZG3/uJEM6ZuwMdJXOK1MmpHOEsxg7QcuKUO+W+hu8xWRrYUGBP+ o12TxO99wb3xIvrNwY3ikjUty9lee6vlxHY/UgShNr33j02BD4K1vIvIh18pzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773106987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=npVEWZcRBlk5tur+rP/w8f2tXaCBR81G4i27LkQrFvc=; b=ENX9RpebX8DJ8KqFOd3Nv9H7fOH4QQBA9ipxMFQjZ6DKz1j1VojvXShXeanjxatHFc2yBd 5Ksj/fWAvjhnaYclFsy3yg1NdKngTeVCbuqWrwc4sOzEhhyiyvrImE7j8g5PG66v3hUkb7 y7YxJt/tRaXd6L7cCKQS7HAXoC0Cg7Ezflz55LoBHxTVAVCZerZO9FRv0yse7deOB2kYrV ip+/mgC27HtRCC/ROveZouwAd5gd3cT0S+YEAjQ3msSvF3+Q5OpzFgAI7VsRo6KJ7A1EHa j48KXLa5oaewG8ArPRV8Be8ezFiRQe0oghudnaIGZxrRZhZ6dM0kJGZzOGCQmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVGqH1NgmzrYp for ; Tue, 10 Mar 2026 01:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 228eb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 01:43:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: d1180d47c965 - main - bsd-family-tree: add FreeBSD 14.4 List-Id: Commit messages for the main 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: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1180d47c9653335c75f6ec9e18eff19109f0119 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 01:43:07 +0000 Message-Id: <69af772b.228eb.660bae06@gitrepo.freebsd.org> The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=d1180d47c9653335c75f6ec9e18eff19109f0119 commit d1180d47c9653335c75f6ec9e18eff19109f0119 Author: Maxim Konovalov AuthorDate: 2026-03-10 01:42:40 +0000 Commit: Maxim Konovalov CommitDate: 2026-03-10 01:42:40 +0000 bsd-family-tree: add FreeBSD 14.4 --- share/misc/bsd-family-tree | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 36910c9ad94a..ee528f6ec0dd 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -480,11 +480,13 @@ FreeBSD 5.2 | | | | | | | | | DragonFly 6.4.2 | FreeBSD | | | | | 14.3 | | | | - | macOS | | | - | 26 | | | - | | | OpenBSD 7.8 | - *--FreeBSD | | | | - | 15.0 | | | | + | | macOS | | | + | `------. 26 | | | + | | | | OpenBSD 7.8 | + *--FreeBSD | | | | | + | 15.0 | | | | | + | FreeBSD | | | | + | 14.4 | | | | | | | | | FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -933,6 +935,7 @@ FreeBSD 14.3 2025-06-10 [FBD] macOS 26 2025-09-15 [APL] OpenBSD 7.8 2025-10-22 [OBD] FreeBSD 15.0 2025-12-02 [FBD] +FreeBSD 14.4 2026-03-10 [FBD] Bibliography ------------------------ From nobody Tue Mar 10 08:22:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVRhL31M5z6V8r5 for ; Tue, 10 Mar 2026 08:22: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVRhL2Nz9z3h3L for ; Tue, 10 Mar 2026 08:22:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773130962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wc2cpVpNAvZLsnxfPDECVh3w0E+vdsD3aGdaLNJ87kc=; b=Aw+QI04qgjljFIBn60wceuHnrHpXvdPWr/a2hjqASaabQTu3dLifqABoeBJaW3mGHtCmZx inqukW51YXPu8bcmO7BG2l0iUmfRWUFVcEeQkpqlLbZl7IMcYRjNt/97yCHXGXcVoAbpyv F06j4leMfG44aRRJi1Z/O7MPN7O2Ym+ZeXvAV5utD+vm0938GlHuLWBJcnnz12cGoeqlkx dzc0l+Bp4tXGOdAwalJivtxcf25QBCA6L6EAArjx/YBih19uZXX9mh4pUhDRMcggk8+MUN y6QPQxmxVljfYMajGh8sUDqkqVD4eB+J86zAcfzkt9Hyk/1vLnX09wpwmRlKWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773130962; a=rsa-sha256; cv=none; b=CzGmaXrkpFci6OO8UhmzkM7si2+V1gPXM91wvbZctpCXzxhoYPUWqdoQw+/HSNQuqhiw55 o5xvLIMJ1JxpzY48kXO5zQJ3fn2ccLofCpD/ljdOj2d/wcBPhMYZbB4vYTFdqK1cKf3GEu XNJHCUzlWkvctZR4cjEepHGgZW04l99sR9Mo98clvOyugM+zXGoEsxc09rzGeZwW+b3ReQ bzBDSK3fvVmNy3UMQaVMvhS5XMd889KtUpdSNSbCBKSCyDFZXf5PDiJdPdFWCIJVACSsSG S8u9831mr8tNnZA2DQpkRQSgrUixYhO4fGGfofpb5WbVMSzJMY38K6M5efV1Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773130962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wc2cpVpNAvZLsnxfPDECVh3w0E+vdsD3aGdaLNJ87kc=; b=B/n/9PjfGfK/Vc38lhRb5fXs0MVsYE9Dc3A4ZhBX4eprKdNK/F7X8rzZg9Sn9Ax1Hn5e2K XYGFPw7ml0U1aQY9eCgzDBebbKKW12WjsrHgPK6tSk1s/fYijTTqkyHmbMM8lqSXWbZyek AII3e4UNIE3cnP6ApcrPWz6+G8jg1v3hzBSLD9XlY6EusWbvlVlp07irSf12r7ywg+Rjpx nLCMoc9LMz9YrrVEC0unSaHmEZVVRKvCj0vJgvtJhMsp0XlTBpW91nlglbZoE5Q48P7o4e PxKwTVaEx7IzlddPMtzSWN7CQOpqrtk8oXuE/xU9U1/9AGR1VBAiMSM+WAGCwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVRhL1k44z149R for ; Tue, 10 Mar 2026 08:22:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38587 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 08:22:37 +0000 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=B8rg?=rav Subject: git: df5b2cf2b31b - main - Complete removal of GNU diff List-Id: Commit messages for the main 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: df5b2cf2b31bf66e3b21c772b39f6cc6406dcb7b Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 08:22:37 +0000 Message-Id: <69afd4cd.38587.61f40234@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=df5b2cf2b31bf66e3b21c772b39f6cc6406dcb7b commit df5b2cf2b31bf66e3b21c772b39f6cc6406dcb7b Author: Dag-Erling Smørgrav AuthorDate: 2026-03-10 08:21:32 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-10 08:21:32 +0000 Complete removal of GNU diff Fixes: 9a44e42a2b8f ("Retire GNU diff3") Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55423 --- usr.bin/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/Makefile b/usr.bin/Makefile index d536f26ab0da..6ca784ef6cb6 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -29,6 +29,7 @@ SUBDIR= apply \ ctlstat \ cut \ diff \ + diff3 \ dirname \ dtc \ du \ @@ -206,7 +207,6 @@ SUBDIR.${MK_GAMES}+= pom SUBDIR.${MK_GAMES}+= primes SUBDIR.${MK_GAMES}+= random SUBDIR+= gh-bc -SUBDIR+= diff3 SUBDIR.${MK_HESIOD}+= hesinfo SUBDIR.${MK_ICONV}+= iconv SUBDIR.${MK_ICONV}+= mkcsmapper From nobody Tue Mar 10 10:18:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVVGN1zjwz6VNyG for ; Tue, 10 Mar 2026 10:18:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVVGN19k0z3vLR for ; Tue, 10 Mar 2026 10:18:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773137932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+sPKo20/r4fsNFw/lfzGX7vZQSn+QH+HelMisTQzFnc=; b=sTje4YX1HFwzxv6HHMmdVoWq3H3kVLK773EKrpQcSA9Gu2acpLl/X+B2sSHMofsVbRv7Um NXKfcSIxBKL+0Zk1Sj5uTtdoq8TJ0m3MH+eDRLF7GtoyQQRFyRtuydAlJNb4eMPfBYMmMF +8rqfuhtQRDpkuVmHAsiElmk1HOyN2QM0dNJIRZ3tfDr+1dMrBWpLkuu5FN5g7p20uz8b4 OSOaMIY0fS2tKf/ZEKAzw70CrSRoZBFpu7HZv6gOEMd7YOUGueR9t6FgmND8iSw0jruxw+ 1uf4VtwbMNi0D66hN8jnwkrHw0JgqfXWZcaIFJf+lwzUKNiTvRjO1euK0ASkcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773137932; a=rsa-sha256; cv=none; b=Scn2CRkeqQMcTspAQ96btmp/Q/KxxMkTLBIlPL5agOi5JZCy9vyNwbjV4+amjOoK5d35yj 5+SlHnrTuTqM7787N9v1iKYejh68cft7bMUhb6GnWV1rpINwBEeQ3TzdXrHknDGfce9qiw vLkgBYdCTUVSXSWlNutZb+NaDjMe+hb0WqzYdHjrJIeXSFbiIGmJbGLLgx5IawI7+NP8dA RmlkxYcmiC6ReansH5jAO5ZbAvcvy0PfUTw/nPylpsdYJkYyBA76Zr9hlvEFB1J1n54V2B 51F3r93YaJuUnQ2661rxuKo0mZLkJYEufkV40ZLnkYXkU1Sw096IYpxBPmGbHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773137932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+sPKo20/r4fsNFw/lfzGX7vZQSn+QH+HelMisTQzFnc=; b=PPn9itFXmWTG3IrmQmRwlQjRSE7u+hpFVD8Mygt9NAMtAGmeLI/N/Hym4EhDWFhgWKLDEP tL3Z2kh36R/EXiWM+zsMngWZ1pG0F7WvTTCeodL6w0MwxCS0ZIlypzqdLNnrsO39qcew2m Z6YyosGuu2F/mTUrfhzTOiFdX8RJc6t6SLCtIhNnRwc7RM/pH1uYGrZ3ocV1ZQg8edQi+U uRmcPwPpBtuyKD5RXwfU8VyLPftCc4UAOJu6R4aLBVYi+sI1ec6fjt1Rg/dZ5QjrxUGjHL veLD0yqD75aAmGbeR1Js61cPQ3QgsFXxYOWdCmbDH33r7kGxo87PmfW1Z6o1Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVVGM6x0Fz17Cg for ; Tue, 10 Mar 2026 10:18:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43817 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 10:18:51 +0000 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=B8rg?=rav Subject: git: cf74b63d61b4 - main - yes: Completely overengineer List-Id: Commit messages for the main 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: cf74b63d61b49db848ecc20b87e7ee5f16671320 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 10:18:51 +0000 Message-Id: <69aff00b.43817.51bdaf7b@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cf74b63d61b49db848ecc20b87e7ee5f16671320 commit cf74b63d61b49db848ecc20b87e7ee5f16671320 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-10 10:18:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-10 10:18:08 +0000 yes: Completely overengineer If we're going to overengineer this, we may as well go all the way. * If multiple arguments are given, concatenate them into a space- separated list like GNU coreutils does. * When duplicating the expletive, do so exponentially. * Most importantly, don't modify the memory that argv points to. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude Differential Revision: https://reviews.freebsd.org/D55617 --- usr.bin/yes/yes.1 | 6 +++-- usr.bin/yes/yes.c | 75 +++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 24 deletions(-) diff --git a/usr.bin/yes/yes.1 b/usr.bin/yes/yes.1 index 8ed8beab0d28..689031345dc3 100644 --- a/usr.bin/yes/yes.1 +++ b/usr.bin/yes/yes.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 4, 2014 +.Dd March 2, 2026 .Dt YES 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd be repetitively affirmative .Sh SYNOPSIS .Nm -.Op Ar expletive +.Op Ar expletive ... .Sh DESCRIPTION The .Nm @@ -42,6 +42,8 @@ utility outputs or, by default, .Dq y , forever. +If multiple arguments are given, they are concatenated into a single +space-separated string. .Sh SEE ALSO .Xr jot 1 , .Xr seq 1 diff --git a/usr.bin/yes/yes.c b/usr.bin/yes/yes.c index d9e896b6ea27..53224603cf95 100644 --- a/usr.bin/yes/yes.c +++ b/usr.bin/yes/yes.c @@ -35,40 +35,71 @@ #include #include +/* + * Default expletive + */ +#define EXP "y\n" +#define EXPLEN strlen(EXP) + +/* + * Optimum and maximum buffer size. The optimum is just a little less + * than the default value of kern.ipc.pipe_mindirect; writing more than + * that is significantly slower, but we want to get as close as possible + * to minimize the number of system calls. The maximum is enough for a + * maximal command line plus a newline and terminating NUL. + */ +#define OPTBUF 8190 +#define MAXBUF (ARG_MAX + 2) + int main(int argc, char **argv) { - char buf[8192]; - char y[2] = { 'y', '\n' }; - char * exp = y; - size_t buflen = 0; - size_t explen = sizeof(y); - size_t more; - ssize_t ret; + static char buf[MAXBUF] = EXP; + char *end = buf + sizeof(buf), *exp, *pos = buf + EXPLEN; + size_t buflen, explen = EXPLEN; + ssize_t wlen = 0; if (caph_limit_stdio() < 0 || caph_enter() < 0) err(1, "capsicum"); - if (argc > 1) { - exp = argv[1]; - explen = strlen(exp) + 1; - exp[explen - 1] = '\n'; - } + argc -= 1; + argv += 1; - if (explen <= sizeof(buf)) { - while (buflen < sizeof(buf) - explen) { - memcpy(buf + buflen, exp, explen); - buflen += explen; + /* Assemble the expletive */ + if (argc > 0) { + /* Copy positional arguments into expletive buffer */ + for (pos = buf, end = buf + sizeof(buf); + argc > 0 && pos < end; argc--, argv++) { + /* Separate with spaces */ + if (pos > buf) + *pos++ = ' '; + exp = *argv; + while (*exp != '\0' && pos < end) + *pos++ = *exp++; } - exp = buf; - explen = buflen; + /* This should not be possible, but check anyway */ + if (pos > end - 2) + pos = end - 2; + *pos++ = '\n'; + explen = pos - buf; } - more = explen; - while ((ret = write(STDOUT_FILENO, exp + (explen - more), more)) > 0) - if ((more -= ret) == 0) - more = explen; + /* + * Double until we're past OPTBUF, then reduce buflen to exactly + * OPTBUF. It doesn't matter if that's not a multiple of explen; + * the modulo operation in the write loop will take care of that. + */ + for (buflen = explen; buflen < OPTBUF; pos += buflen, buflen += buflen) + memcpy(pos, buf, buflen); + if (explen < OPTBUF && buflen > OPTBUF) + buflen = OPTBUF; + /* Dump it to stdout */ + end = (pos = buf) + buflen; + do { + pos = buf + (pos - buf + wlen) % explen; + wlen = write(STDOUT_FILENO, pos, end - pos); + } while (wlen > 0); err(1, "stdout"); /*NOTREACHED*/ } From nobody Tue Mar 10 10:55:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVW4d0LfCz6VRDb for ; Tue, 10 Mar 2026 10:55:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVW4c6nG5z448M for ; Tue, 10 Mar 2026 10:55:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773140129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QjTy4+SE21t7hi6B5AGr9a0dVMLnv/z81Um3qtrdxo4=; b=M4CFkFj0uNbg5vtTeW+Cf9a+suK8s0C/9g2/wuo1inBHjo9hkvXWhDd4a8aQ0ocQHfGPbo CQCjMUcz+OxasM3QL12q9bZXfAnJpKw9oaPpnKMr5F+pOpKkmV+f0NxoFE5QucNXRtcv2r l9yhwYyx8hFCt4uMf/Tx2XovpCJePvN6/VK/hYW+csqpXELP815q/+DRADdgKoBHPbIfoO CSuc/FkPp+SSuUMvA6gV+86phuqcJD/QhipZdMvny+KKaBsSZ4WVh4Fk9Vzh0sAsPLiuc/ 75VPioYqj5kuXvHMglPQU3t7OLMgYp7j4upCzo+C5bsvUM/mT+Nlx2B9dSC2lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773140129; a=rsa-sha256; cv=none; b=cBI15RGHFY2gd4/Y7+7ObO7x40Wfg7yxbV+EPHmZ6xGHEgll2JfiKKGSMyz7GRqKPI/7p+ fRxB5O27vwFCI50Wkxik4UuxycQKlGv4gjx9cDba1LkGY5kYuLrf31S/Le2ucY/LWizuKH nJ93XvTYoXIiw9LhCVv1YorcDt21GzsqAq/k3/jBPe3scpos2Vk7bRRYPssyj8S2iTdLOD uxDxA3DSDsG0Y5pZGDHUkFtNfi4fZbf9evLWgjgYcBxR2JueOe6Ks7DxQhJpD/PYm4YQBv PRNb+PUogdf8TkujgSFicLBfNUsrrpOPK9VY+8NxR97xwSWc4v2Zt+o+0NtwyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773140129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QjTy4+SE21t7hi6B5AGr9a0dVMLnv/z81Um3qtrdxo4=; b=atzvyWlxseseeKGdybPkQ7ZDRnwd9flpiYwS5oSUK879jnkf4G6jpKTIakhEbhNB+RIs55 rNOHO9mplOWUn1svMx9UE6S34aPDR5EyZ6X0dcfTpnmJzY39QTYjGW3OmLa+E6a1EK8NCZ buX2V915iUh704pt/gLSvmuH9kIyU0vkpkiBnGNYXv3aXTiMDpDngQGyjYpzsoJOFya34c vxUNue1CV0WOxx4kW7vnBCzB/kBsn3fcDxAnLwbgbMwl1QuZcDJQYnDhDEsrmcFt1odV8s 2sNbrJjbBdkWh4TZxMUdzNtt/rSWPV2E5alXuNH7K2hyIx+4TstfODVEr4NiWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVW4c68njz18F5 for ; Tue, 10 Mar 2026 10:55:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46547 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 10:55:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: a2b601343bf9 - main - virtual_oss: Combine -d, -l and -L option getopt code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2b601343bf9261c4ada51e4d4c30c5b9320bb2b Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 10:55:28 +0000 Message-Id: <69aff8a0.46547.1503cad9@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a2b601343bf9261c4ada51e4d4c30c5b9320bb2b commit a2b601343bf9261c4ada51e4d4c30c5b9320bb2b Author: Christos Margiolis AuthorDate: 2026-03-10 10:55:21 +0000 Commit: Christos Margiolis CommitDate: 2026-03-10 10:55:21 +0000 virtual_oss: Combine -d, -l and -L option getopt code Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55671 --- usr.sbin/virtual_oss/virtual_oss/main.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/usr.sbin/virtual_oss/virtual_oss/main.c b/usr.sbin/virtual_oss/virtual_oss/main.c index 6c5ba8112c8b..6a56adbc6075 100644 --- a/usr.sbin/virtual_oss/virtual_oss/main.c +++ b/usr.sbin/virtual_oss/virtual_oss/main.c @@ -2228,24 +2228,6 @@ parse_options(int narg, char **pparg, int is_main) strncpy(profile.wav_name, optarg, sizeof(profile.wav_name)); break; case 'd': - if (strlen(optarg) > VMAX_STRING - 1) - return ("Device name too long"); - strncpy(profile.oss_name, optarg, sizeof(profile.oss_name)); - - if (profile.bits == 0 || voss_dsp_sample_rate == 0 || - profile.channels == 0 || voss_dsp_samples == 0) - return ("Missing -b, -r, -c or -s parameters"); - - val = (voss_dsp_samples * - profile.bits * profile.channels) / 8; - if (val <= 0 || val >= (1024 * 1024)) - return ("-s option value is too big"); - - ptr = dup_profile(&profile, opt_amp, opt_pol, - opt_mute[0], opt_mute[1], 0, 1); - if (ptr != NULL) - return (ptr); - break; case 'L': case 'l': if (strlen(optarg) > VMAX_STRING - 1) @@ -2254,7 +2236,7 @@ parse_options(int narg, char **pparg, int is_main) if (profile.bits == 0 || voss_dsp_sample_rate == 0 || profile.channels == 0 || voss_dsp_samples == 0) - return ("Missing -b, -r, -r or -s parameters"); + return ("Missing -b, -r, -c or -s parameters"); val = (voss_dsp_samples * profile.bits * profile.channels) / 8; @@ -2262,7 +2244,7 @@ parse_options(int narg, char **pparg, int is_main) return ("-s option value is too big"); ptr = dup_profile(&profile, opt_amp, opt_pol, - opt_mute[0], opt_mute[1], c == 'L', 0); + opt_mute[0], opt_mute[1], c == 'L', c == 'd'); if (ptr != NULL) return (ptr); break; From nobody Tue Mar 10 12:46:13 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXP28BSz6Vbrf for ; Tue, 10 Mar 2026 12:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVYXP1d2cz4Q1J for ; Tue, 10 Mar 2026 12:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNL7lli2dJbid2iYCs3r8hkxbhN5OU3riLS5FhrTs+Y=; b=IBpNgLp5w0osondshR/qJJkXaohlX+D0wodcSszOIfH96dKXxuTBVceQESlNkttA0SURbN FmsIcpVXp83VJkyOPCwRMVci7ME472D0alC3Jbnlzj/cbLbjc9TFVrGQAt+dHKBckEfDJI aE5NQBKUa1T6cSiPaBrUj335ZqbazVmrzxM1ftLPLJE17uGmQyx6HFCRE+VAHHOyYNszSt B25aStJYa6LTuZ3kHmNwW3/W2qifmTjq6TxEweFARi9pZL7dUBcntP37kl5Ld0gnYaMJVD k4nwMbjKTzxH6UCZfCFi8KoMkFqR9u/GY73k+avs2qqzLVkBcC1fyLlOnIujuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773146773; a=rsa-sha256; cv=none; b=ppMoqRrpvUbND6Blc8IQkCQbAms/UQBrpOd5EgHAgJdqTj7eQfMI/CsFpq7QXdJMaRi4bc VC7FOZX1Gd0F0ocyja+qU/LOI2J3ZvtKLul2hivHulc+Jecj9D4Q7lr2BYOHIsIFJRW3Cl vvNSeydZwSaHmfNLqUOnMNjq2wAbDJQpKNkz+tpzdUGvSpL3vKdEGigjxXal7Y3icsbqqc yEnTacQOwV2MzkAP1SFyqIzSzh4s2q6ddMOi59yEDHYIcCxJuwghjlrkOK1mxPZF+pVU2D 4Dwb+UWRkYgylAjHMOoyWfb/q08yjxAy9xSRNC8BLD4oQ+FVnN4kqbFoWrYUSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNL7lli2dJbid2iYCs3r8hkxbhN5OU3riLS5FhrTs+Y=; b=j/6vUAt1tG+4PpZyzwsLzAC5u4jKyYiyR+8J3FK1EUqMLGPRs+SNJiTle2NmA2JsdoreK1 YIOn+hdPiWCKJwreMo8qW8Ox18liZ3C6pMkeUV7UQyOotgfTEMijCHd2woNyf8NOlzdcxW QXYgQ2NaWvJLcpZxTL0PVASDSDxL1NhQ6O+Al/H8CXf//K23/Gf73+4/LDqIphgeuDdLko wLMwfehISm/OWbw0P6EvW3A4jyAYSV+m5eUGCIaV3TqFuTtv+s1bv2YckCucZibJjHz+4K kh2YRYMSe+bl5HblZCB6iX08QiuXdYLHaWmUunThuHpHnZs4jaimDJMX5Bk1Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXP0pP7z1BYh for ; Tue, 10 Mar 2026 12:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23911 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 12:46:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 92d7808d88f0 - main - vn_delayed_setsize(): post-commit review' 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92d7808d88f0de979d76446c76c7324731c41302 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 12:46:13 +0000 Message-Id: <69b01295.23911.21b35adf@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=92d7808d88f0de979d76446c76c7324731c41302 commit 92d7808d88f0de979d76446c76c7324731c41302 Author: Konstantin Belousov AuthorDate: 2026-03-06 00:18:11 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-10 12:44:27 +0000 vn_delayed_setsize(): post-commit review' changes Handle doomed vnodes after LK_RETRY. Rename the flag from VI_DELAYEDSSZ to VI_DELAYED_SETSIZE. Change signature of vn_lock_delayed_setsize() to take flatten values list instead of vop args structure. __predict_true() for VI_DELAYED_SETSIZE not set. Minor editings like removing tautological assert, and sorting items. Noted by: markj Fixes: 45117ffcd533ddf995f654db60b10899ae8370ec Reviewed by: markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55681 --- sys/fs/deadfs/dead_vnops.c | 6 ++--- sys/fs/nfsclient/nfs_clport.c | 2 +- sys/kern/vfs_vnops.c | 52 +++++++++++++++++++++---------------------- sys/sys/vnode.h | 12 +++++----- 4 files changed, 35 insertions(+), 37 deletions(-) diff --git a/sys/fs/deadfs/dead_vnops.c b/sys/fs/deadfs/dead_vnops.c index b6d6fa55d221..c793ef2ebf4d 100644 --- a/sys/fs/deadfs/dead_vnops.c +++ b/sys/fs/deadfs/dead_vnops.c @@ -55,6 +55,9 @@ struct vop_vector dead_vnodeops = { .vop_bmap = VOP_EBADF, .vop_close = dead_close, .vop_create = VOP_PANIC, + .vop_delayed_setsize = VOP_NULL, + .vop_fplookup_symlink = VOP_EOPNOTSUPP, + .vop_fplookup_vexec = VOP_EOPNOTSUPP, .vop_getattr = VOP_EBADF, .vop_getwritemount = dead_getwritemount, .vop_inactive = VOP_NULL, @@ -78,9 +81,6 @@ struct vop_vector dead_vnodeops = { .vop_vptocnp = VOP_EBADF, .vop_unset_text = dead_unset_text, .vop_write = dead_write, - .vop_fplookup_vexec = VOP_EOPNOTSUPP, - .vop_fplookup_symlink = VOP_EOPNOTSUPP, - .vop_delayed_setsize = VOP_NULL, }; VFS_VOP_VECTOR_REGISTER(dead_vnodeops); diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index 1156e1738703..cf163adc02de 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -646,7 +646,7 @@ ncl_pager_setsize(struct vnode *vp, u_quad_t *nsizep) (curthread->td_pflags2 & TDP2_SBPAGES) == 0) setnsize = true; else - vn_delay_setsize(vp); + vn_delayed_setsize(vp); } if (nsizep == NULL) { NFSUNLOCKNODE(np); diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 24efdf4ac0d5..ea8f8437b743 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1960,25 +1960,25 @@ _vn_lock_fallback(struct vnode *vp, int flags, const char *file, int line, } static int -vn_lock_delayed_setsize(struct vop_lock1_args *ap) +vn_lock_delayed_setsize(struct vnode *vp, int flags, const char *file, int line) { - struct vnode *vp; + struct vop_lock1_args ap; int error, lktype; bool onfault; - vp = ap->a_vp; - lktype = ap->a_flags & LK_TYPE_MASK; + ASSERT_VOP_LOCKED(vp, "vn_lock_delayed_setsize"); + lktype = flags & LK_TYPE_MASK; if (vp->v_op == &dead_vnodeops) return (0); VI_LOCK(vp); - if ((vp->v_iflag & VI_DELAYEDSSZ) == 0 || (lktype != LK_SHARED && + if ((vp->v_iflag & VI_DELAYED_SETSIZE) == 0 || (lktype != LK_SHARED && lktype != LK_EXCLUSIVE && lktype != LK_UPGRADE && lktype != LK_TRYUPGRADE)) { VI_UNLOCK(vp); return (0); } - onfault = (ap->a_flags & LK_EATTR_MASK) == LK_NOWAIT && - (ap->a_flags & LK_INIT_MASK) == LK_CANRECURSE && + onfault = (flags & LK_EATTR_MASK) == LK_NOWAIT && + (flags & LK_INIT_MASK) == LK_CANRECURSE && (lktype == LK_SHARED || lktype == LK_EXCLUSIVE); if (onfault && vp->v_vnlock->lk_recurse == 0) { /* @@ -1990,35 +1990,38 @@ vn_lock_delayed_setsize(struct vop_lock1_args *ap) VOP_UNLOCK(vp); return (EBUSY); } - if ((ap->a_flags & LK_NOWAIT) != 0 || + if ((flags & LK_NOWAIT) != 0 || (lktype == LK_SHARED && vp->v_vnlock->lk_recurse > 0)) { VI_UNLOCK(vp); return (0); } if (lktype == LK_SHARED) { VOP_UNLOCK(vp); - ap->a_flags &= ~LK_TYPE_MASK; - ap->a_flags |= LK_EXCLUSIVE | LK_INTERLOCK; - error = VOP_LOCK1_APV(&default_vnodeops, ap); + ap.a_gen.a_desc = &vop_lock1_desc; + ap.a_vp = vp; + ap.a_flags = (flags & ~LK_TYPE_MASK) | LK_EXCLUSIVE | + LK_INTERLOCK; + ap.a_file = file; + ap.a_line = line; + error = VOP_LOCK1_APV(&default_vnodeops, &ap); if (error != 0 || vp->v_op == &dead_vnodeops) return (error); if (vp->v_data == NULL) goto downgrade; - MPASS(vp->v_data != NULL); VI_LOCK(vp); - if ((vp->v_iflag & VI_DELAYEDSSZ) == 0) { + if ((vp->v_iflag & VI_DELAYED_SETSIZE) == 0) { VI_UNLOCK(vp); goto downgrade; } } - vp->v_iflag &= ~VI_DELAYEDSSZ; + vn_clear_delayed_setsize_locked(vp); VI_UNLOCK(vp); VOP_DELAYED_SETSIZE(vp); downgrade: if (lktype == LK_SHARED) { - ap->a_flags &= ~(LK_TYPE_MASK | LK_INTERLOCK); - ap->a_flags |= LK_DOWNGRADE; - (void)VOP_LOCK1_APV(&default_vnodeops, ap); + ap.a_flags &= ~(LK_TYPE_MASK | LK_INTERLOCK); + ap.a_flags |= LK_DOWNGRADE; + (void)VOP_LOCK1_APV(&default_vnodeops, &ap); } return (0); } @@ -2026,7 +2029,6 @@ downgrade: int _vn_lock(struct vnode *vp, int flags, const char *file, int line) { - struct vop_lock1_args ap; int error; VNASSERT((flags & LK_TYPE_MASK) != 0, vp, @@ -2034,15 +2036,11 @@ _vn_lock(struct vnode *vp, int flags, const char *file, int line) VNPASS(vp->v_holdcnt > 0, vp); error = VOP_LOCK1(vp, flags, file, line); if (__predict_false(error != 0 || VN_IS_DOOMED(vp))) - return (_vn_lock_fallback(vp, flags, file, line, error)); - if (__predict_false((vp->v_iflag & VI_DELAYEDSSZ) == 0)) - return (0); - ap.a_gen.a_desc = &vop_lock1_desc; - ap.a_vp = vp; - ap.a_flags = flags; - ap.a_file = file; - ap.a_line = line; - return (vn_lock_delayed_setsize(&ap)); + error = _vn_lock_fallback(vp, flags, file, line, error); + if (error != 0 || __predict_true((atomic_load_short(&vp->v_iflag) & + VI_DELAYED_SETSIZE) == 0)) + return (error); + return (vn_lock_delayed_setsize(vp, flags, file, line)); } /* diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 36e10fd8d8b7..3fd2c770cda1 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -268,7 +268,7 @@ _Static_assert(sizeof(struct vnode) <= 448, "vnode size crosses 448 bytes"); #define VI_DEFINACT 0x0010 /* deferred inactive */ #define VI_FOPENING 0x0020 /* In open, with opening process having the first right to advlock file */ -#define VI_DELAYEDSSZ 0x0040 /* Delayed setsize */ +#define VI_DELAYED_SETSIZE 0x0040 /* Delayed setsize */ #define VV_ROOT 0x0001 /* root of its filesystem */ #define VV_ISTTY 0x0002 /* vnode represents a tty */ @@ -1253,17 +1253,17 @@ vn_get_state(struct vnode *vp) }) static inline void -vn_delay_setsize_locked(struct vnode *vp) +vn_delayed_setsize_locked(struct vnode *vp) { ASSERT_VI_LOCKED(vp, "delayed_setsize"); - vp->v_iflag |= VI_DELAYEDSSZ; + vp->v_iflag |= VI_DELAYED_SETSIZE; } static inline void -vn_delay_setsize(struct vnode *vp) +vn_delayed_setsize(struct vnode *vp) { VI_LOCK(vp); - vn_delay_setsize_locked(vp); + vn_delayed_setsize_locked(vp); VI_UNLOCK(vp); } @@ -1271,7 +1271,7 @@ static inline void vn_clear_delayed_setsize_locked(struct vnode *vp) { ASSERT_VI_LOCKED(vp, "delayed_setsize"); - vp->v_iflag &= ~VI_DELAYEDSSZ; + vp->v_iflag &= ~VI_DELAYED_SETSIZE; } static inline void From nobody Tue Mar 10 12:46:14 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXQ2Txmz6Vbrh for ; Tue, 10 Mar 2026 12:46:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVYXQ1nQPz4QB0 for ; Tue, 10 Mar 2026 12:46:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8ZsEKn97deeVRF/5CLH4Wkqr1bswpclqRUxxASCLro=; b=UOJQTPILZUu262ZPm3TX1q3k9YP6Z0zpj3PWZOwjRFLaE/ny7voP692fHabLtzNrCbH08+ JRp7KoIaqqzZilywLqLOG+6bvrLP29LE6XRKCW5hufOLDe+hbCcfMRuLBYQrlzZg0Jgk/t mPyycRLyi8TzrAJiNLClp69FZC1uFPpj6Pa2X+G5R29LUIdQ7U0QynPUNcLxiI5J3s2z8I ezVUgLJ70O1svHmKVXPJz3B0W28WYbu3mqGeWAFxm6eHDaq/XIi69/77g73gN+SGvQjcnU NFCm5He08kk5li7hct6iRa9Fk4h189HNKTt8cN2sflEmbffqtuqvI5epEGKjqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773146774; a=rsa-sha256; cv=none; b=SH9XDl8WB2t2NsljsJ+YKdUbN6kBiJQ5xeVCxPBopNwzAOcJxyd1OJ42lgs4OJ60iS43tf E20BPjqcCmFoeD80L26v61sIAvOtgWE18OQmCqFWpOcQFlYgzrqtgWXPvELLgu2Xja75cq pDVZop3RL8VpCrF5mF/Ri1SVO9iQfmm0jlob3bG+K5CiTUl/V7VDYxRmPT10T3pu/ki24v SY68hGBO6aUL62dN51FFUuZzJ1wowWWVCvcAFf9zt8NVaH23rGF9MouGWdTn0ZeU8TPIV3 KZCXh12Zw1diDPXM2rbWT1pRvnldO+Bn8jwHrlHagA/T5GLZM2F3qd5FfywBJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8ZsEKn97deeVRF/5CLH4Wkqr1bswpclqRUxxASCLro=; b=X9YCbQhyyPi6rVE/jF+kGypz3GsyuRn1iGIX2DniRolGKfW/RsTlNxnmzlTQI3uRc5Uk0v p1/z29WIrSaJjf6Ieof53lKmeAk6e4d6XmRUt0e9blHuenqR3jRHrTG444peFkMFADqw8U +HKTof5NFcBy9evBS06Vs9swwxHi4EgS3FIll5JcWT3/GEQPixPHYl4w1chyrDCfDmiLiQ tnR2fW7/vDXTq5LapfNTb67MriEWkubBiPlbICfxAQcEb+2pipVqzOf84MZe/K44hCgrDb q3NCAoZSDhlGWQgHM1DWOw89qTJMvcFLHtYBgkiinHYdyWrkil2szQvBrjP1MA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXQ14bVz1BXG for ; Tue, 10 Mar 2026 12:46:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23915 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 12:46:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2b256f00aaee - main - p9fs: locking improvements for p9fs_stat_vnode_dotl() List-Id: Commit messages for the main 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: 2b256f00aaee4713b8e6f0e3c0f3493065f710c4 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 12:46:14 +0000 Message-Id: <69b01296.23915.81ee5f2@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2b256f00aaee4713b8e6f0e3c0f3493065f710c4 commit 2b256f00aaee4713b8e6f0e3c0f3493065f710c4 Author: Konstantin Belousov AuthorDate: 2026-03-05 12:35:43 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-10 12:44:34 +0000 p9fs: locking improvements for p9fs_stat_vnode_dotl() If the vnode is share-locked: - Use vn_delayed_setsize() to avoid calling vnode_pager_setsize() with the vnode only shared locked. - Interlock the vnode to get exclusive mode for updating the node fields. Reciprocally, interlock the vnode in p9fs_getattr_dotl() to observe the consistent values on read. PR: 293492 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55665 --- sys/fs/p9fs/p9fs_vnops.c | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/sys/fs/p9fs/p9fs_vnops.c b/sys/fs/p9fs/p9fs_vnops.c index e64d7840f7f9..c6d35548e9ed 100644 --- a/sys/fs/p9fs/p9fs_vnops.c +++ b/sys/fs/p9fs/p9fs_vnops.c @@ -896,6 +896,7 @@ p9fs_getattr_dotl(struct vop_getattr_args *ap) /* Basic info */ VATTR_NULL(vap); + VI_LOCK(vp); vap->va_atime.tv_sec = inode->i_atime; vap->va_mtime.tv_sec = inode->i_mtime; vap->va_ctime.tv_sec = inode->i_ctime; @@ -916,6 +917,7 @@ p9fs_getattr_dotl(struct vop_getattr_args *ap) vap->va_filerev = inode->data_version; vap->va_vaflags = 0; vap->va_bytes = inode->blocks * P9PROTO_TGETATTR_BLK; + VI_UNLOCK(vp); return (0); } @@ -951,16 +953,36 @@ p9fs_stat_vnode_dotl(struct p9_stat_dotl *stat, struct vnode *vp) { struct p9fs_node *np; struct p9fs_inode *inode; + bool excl_locked; np = P9FS_VTON(vp); inode = &np->inode; + /* + * This function might be called with the vnode only shared + * locked. Then, interlock the vnode to ensure the exclusive + * access to the inode fields: the thread either owns + * exclusive vnode lock, or shared vnode lock plus interlock. + * + * If the vnode is locked exclusive, do not take the + * interlock. We directly call vnode_pager_setsize(), which + * needs the vm_object lock, and that lock is before vnode + * interlock in the lock order. + */ ASSERT_VOP_LOCKED(vp, __func__); + excl_locked = VOP_ISLOCKED(vp) == LK_EXCLUSIVE; + if (!excl_locked) + VI_LOCK(vp); + /* Update the pager size if file size changes on host */ if (inode->i_size != stat->st_size) { inode->i_size = stat->st_size; - if (vp->v_type == VREG) - vnode_pager_setsize(vp, inode->i_size); + if (vp->v_type == VREG) { + if (excl_locked) + vnode_pager_setsize(vp, inode->i_size); + else + vn_delayed_setsize_locked(vp); + } } inode->i_mtime = stat->st_mtime_sec; @@ -979,11 +1001,12 @@ p9fs_stat_vnode_dotl(struct p9_stat_dotl *stat, struct vnode *vp) inode->gen = stat->st_gen; inode->data_version = stat->st_data_version; - ASSERT_VOP_LOCKED(vp, __func__); /* Setting a flag if file changes based on qid version */ if (np->vqid.qid_version != stat->qid.version) np->flags |= P9FS_NODE_MODIFIED; memcpy(&np->vqid, &stat->qid, sizeof(stat->qid)); + if (!excl_locked) + VI_UNLOCK(vp); return (0); } @@ -2213,12 +2236,25 @@ p9fs_putpages(struct vop_putpages_args *ap) return (rtvals[0]); } +static int +p9fs_delayed_setsize(struct vop_delayed_setsize_args *ap) +{ + struct vnode *vp; + struct p9fs_node *np; + + vp = ap->a_vp; + np = P9FS_VTON(vp); + vnode_pager_setsize(vp, np->inode.i_size); + return (0); +} + struct vop_vector p9fs_vnops = { .vop_default = &default_vnodeops, .vop_lookup = p9fs_lookup, .vop_open = p9fs_open, .vop_close = p9fs_close, .vop_access = p9fs_access, + .vop_delayed_setsize = p9fs_delayed_setsize, .vop_getattr = p9fs_getattr_dotl, .vop_setattr = p9fs_setattr_dotl, .vop_reclaim = p9fs_reclaim, From nobody Tue Mar 10 12:46:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXR5kV8z6VbcV for ; Tue, 10 Mar 2026 12:46:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVYXR4Fgyz4QKH for ; Tue, 10 Mar 2026 12:46:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EuO3PlBGWxGDMKIgfUZhjf/4Qeb01Uf5DHKF4tvQPdM=; b=OGT9GLQOTBjC6P/iWbIid8T8F/+5DVGbXfIkVRVdkVv+qKqfG7x1+TWYygfuYRZhhMsTZ/ O5bKZNPLr0YZ+eHa8ZFaXddijlGYTakj7ACAbT9T7EDsNn0/8N4MGFJwmQn1dx/ehsR1fq opEfwIz9UXpCrLej0i/A8hXVK8ppvnPHw0FQBI7DjREchCwQvYmPttovcf1HSTbBBxz2k9 DpdqIEkgmJbS5iS5+fzLz0n7WpeOUb6pabdZmc8u+e1GT0fBT+AlW2/6koYdI1+IjZt8KQ Lyi6okYjLYTNxSa4BYWyjWd0sOMd07vut13gvvTCFgihiBuCsDfrWqjz5usRrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773146775; a=rsa-sha256; cv=none; b=sjmV3CcNVKKmHOg7jc7ye+sNHUsaeAwfQQpzi9AK2qLo+Da51dHgwWh5SIw6FEbBSmVseK 5xKYIghaLkg+yp5hzkCXXRN8w/1ETNdaet63tYgP41tuDZ495mnNIcLQZqMMm+jrtAauCw qyvA2I0KO6AJQsGf7jhRRe+cjSqViXBdcKrUr2QwiIx8HgnixXWq22RJU573woNtEHhpvD ekTGcw+8mmcQBEr82zn4ePVGW9+KDBUTPlLEMup0sJhVn9yFQu0BT5M+E9z2fD4MvJHOXv +h+0QuP505n72khMTJzkUpq20PUzR+tS/RnixB//+DucD5Wxlsw+sbTHtJV2HQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773146775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EuO3PlBGWxGDMKIgfUZhjf/4Qeb01Uf5DHKF4tvQPdM=; b=UAnz8EnIAq5IrmNSlkOP8pieNLgpyAshg8tFkH4ztQUHmUcf308totXY7CPV30s7+CVjFj aTxdncmcxO+8Y+TnYB84sodA1MdaPmT6GdXVjiOaFvszL2sfaDN5tFxpPujXMnG8mTdQrd oV6LX9ZKqGEYriWr1wypLyUqyU1JudEoSJjr1+bO4MHWkXEaTKMLDXPfyym4soNk5LcWAk EMjOVZg7YepLNROzaFVBMEyyP8R2N1/1dJe/ZxQ97zd3JWtKYUTZV+UIMlrPx38DzJixlu s1ry1/Gpu80gfVVK4G+9P7qSgwVqFiqmQeImgYRHSnlcvhP7MQArvHZDYZA+nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVYXR1t7bz1BYj for ; Tue, 10 Mar 2026 12:46:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 227b7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 12:46:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: c2012c7faf74 - main - p9fs: use atomics for updating node->flags List-Id: Commit messages for the main 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: c2012c7faf74c9e7b4e3de2472e10b58ed096996 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 12:46:15 +0000 Message-Id: <69b01297.227b7.53cc52dd@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c2012c7faf74c9e7b4e3de2472e10b58ed096996 commit c2012c7faf74c9e7b4e3de2472e10b58ed096996 Author: Konstantin Belousov AuthorDate: 2026-03-08 04:44:33 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-10 12:44:34 +0000 p9fs: use atomics for updating node->flags This should prevent seeing inconsistent flags values when updating it under the shared vnode lock. Noted and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55665 --- sys/fs/p9fs/p9fs.h | 9 ++++++--- sys/fs/p9fs/p9fs_vfsops.c | 6 +++--- sys/fs/p9fs/p9fs_vnops.c | 8 ++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/fs/p9fs/p9fs.h b/sys/fs/p9fs/p9fs.h index a270d8b5ce5f..2470734fef4d 100644 --- a/sys/fs/p9fs/p9fs.h +++ b/sys/fs/p9fs/p9fs.h @@ -103,7 +103,7 @@ struct p9fs_node { struct p9fs_inode inode; /* in memory representation of ondisk information*/ struct p9fs_session *p9fs_ses; /* Session_ptr for this node */ STAILQ_ENTRY(p9fs_node) p9fs_node_next; - uint64_t flags; + u_int flags; }; #define P9FS_VTON(vp) ((struct p9fs_node *)(vp)->v_data) @@ -111,10 +111,13 @@ struct p9fs_node { #define VFSTOP9(mp) ((struct p9fs_mount *)(mp)->mnt_data) #define QEMU_DIRENTRY_SZ 25 #define P9FS_NODE_MODIFIED 0x1 /* indicating file change */ -#define P9FS_ROOT 0x2 /* indicating root p9fs node */ +#define P9FS_NODE_ROOT 0x2 /* indicating root p9fs node */ #define P9FS_NODE_DELETED 0x4 /* indicating file or directory delete */ #define P9FS_NODE_IN_SESSION 0x8 /* p9fs_node is in the session - virt_node_list */ -#define IS_ROOT(node) (node->flags & P9FS_ROOT) +#define IS_ROOT(node) (((node)->flags & P9FS_NODE_ROOT) != 0) + +#define P9FS_NODE_SETF(n, f) atomic_set_int(&(n)->flags, (f)) +#define P9FS_NODE_CLRF(n, f) atomic_clear_int(&(n)->flags, (f)) #define P9FS_SET_LINKS(inode) do { \ (inode)->i_links_count = 1; \ diff --git a/sys/fs/p9fs/p9fs_vfsops.c b/sys/fs/p9fs/p9fs_vfsops.c index 953e6eda547a..0e09c58e57b6 100644 --- a/sys/fs/p9fs/p9fs_vfsops.c +++ b/sys/fs/p9fs/p9fs_vfsops.c @@ -284,7 +284,7 @@ p9fs_vget_common(struct mount *mp, struct p9fs_node *np, int flags, node = vp->v_data; /* Remove stale vnode from hash list */ vfs_hash_remove(vp); - node->flags |= P9FS_NODE_DELETED; + P9FS_NODE_SETF(node, P9FS_NODE_DELETED); vput(vp); *vpp = NULL; @@ -372,7 +372,7 @@ p9fs_vget_common(struct mount *mp, struct p9fs_node *np, int flags, if (*vpp == NULL) { P9FS_LOCK(vses); STAILQ_INSERT_TAIL(&vses->virt_node_list, np, p9fs_node_next); - np->flags |= P9FS_NODE_IN_SESSION; + P9FS_NODE_SETF(np, P9FS_NODE_IN_SESSION); P9FS_UNLOCK(vses); vn_set_state(vp, VSTATE_CONSTRUCTED); *vpp = vp; @@ -448,7 +448,7 @@ p9_mount(struct mount *mp) P9FS_VOFID_LOCK_INIT(p9fs_root); STAILQ_INIT(&p9fs_root->vofid_list); p9fs_root->parent = p9fs_root; - p9fs_root->flags |= P9FS_ROOT; + P9FS_NODE_SETF(p9fs_root, P9FS_NODE_ROOT); p9fs_root->p9fs_ses = vses; vfs_getnewfsid(mp); strlcpy(mp->mnt_stat.f_mntfromname, from, diff --git a/sys/fs/p9fs/p9fs_vnops.c b/sys/fs/p9fs/p9fs_vnops.c index c6d35548e9ed..081903d73e5e 100644 --- a/sys/fs/p9fs/p9fs_vnops.c +++ b/sys/fs/p9fs/p9fs_vnops.c @@ -111,7 +111,7 @@ p9fs_cleanup(struct p9fs_node *np) P9FS_LOCK(vses); if ((np->flags & P9FS_NODE_IN_SESSION) != 0) { - np->flags &= ~P9FS_NODE_IN_SESSION; + P9FS_NODE_CLRF(np, P9FS_NODE_IN_SESSION); STAILQ_REMOVE(&vses->virt_node_list, np, p9fs_node, p9fs_node_next); } else { P9FS_UNLOCK(vses); @@ -675,7 +675,7 @@ p9fs_open(struct vop_open_args *ap) error = vinvalbuf(vp, 0, 0, 0); if (error != 0) return (error); - np->flags &= ~P9FS_NODE_MODIFIED; + P9FS_NODE_CLRF(np, P9FS_NODE_MODIFIED); } vfid = p9fs_get_fid(vses->clnt, np, ap->a_cred, VFID, -1, &error); @@ -1003,7 +1003,7 @@ p9fs_stat_vnode_dotl(struct p9_stat_dotl *stat, struct vnode *vp) /* Setting a flag if file changes based on qid version */ if (np->vqid.qid_version != stat->qid.version) - np->flags |= P9FS_NODE_MODIFIED; + P9FS_NODE_SETF(np, P9FS_NODE_MODIFIED); memcpy(&np->vqid, &stat->qid, sizeof(stat->qid)); if (!excl_locked) VI_UNLOCK(vp); @@ -1549,7 +1549,7 @@ remove_common(struct p9fs_node *dnp, struct p9fs_node *np, const char *name, cache_purge(vp); vfs_hash_remove(vp); - np->flags |= P9FS_NODE_DELETED; + P9FS_NODE_SETF(np, P9FS_NODE_DELETED); return (error); } From nobody Tue Mar 10 16:53:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2922tLz6Vwmf for ; Tue, 10 Mar 2026 16:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2918xPz3krX for ; Tue, 10 Mar 2026 16:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OET05qBqLgb5atTo1v3vdhRaKr9d1ANnDpDZ+0Ucjoo=; b=F5seNYMWIHX4CQs6flUCfSNreMWbB08sRhS+llSQIewVhWPu3Z9pmiLN8ik5v9yCadzmIe wz3zjmbrWQgcREfMaDxmQ5ksL7lWd46vy+x6TtTXJ1bLHM2U2g3QqbZdkwAp+EN57nbBCO VZze1URJtJ/zPb2lTrhifVehBdxTypC5glCIsV19qCZiAjHF3Go26pAgUO/+0OQk7XjxSA E9E74grr+G+vBvVTglQwD2L8Pfgd0P0R9t1qVKKlhzDnmVcNsjAr0own1a06Z4L7wPNThi 9Wvpd8mZFQfY/rfJW7fPuOnHMxrZ8PnPdPkKENm5x30Y0jBZEbVt9oZZl58haw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161633; a=rsa-sha256; cv=none; b=vs70u5GmD61QShLtBJPCzBpiH9Rst+SBcK0z8IwBMvz+XxOaRkel9JWYcn//R9njv6h6ab EUCz+QjFnzYRwAm7cwVniiRoq34dbcQll+Q93MZfX4L337pspwNJE9iEny282XKvJESoIe AWxC1uheQ1F0O4SreLbIGjNsQRJWnGoGuyB3CXBia3psR1F3y8FQLGrsatfPvP8N4QVqm+ wDel0bRMFE6v5WTIjJCjZ0eK1u5ZGnaug4ViQP07S2CQnXhsnMeG735fDtMsCmeAca3F8f ToYXNEw9N9gl41erKsQ0LgMx/iR6J+xms8hfK2YH+dWd4NRTgevCHLQPPVmuGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OET05qBqLgb5atTo1v3vdhRaKr9d1ANnDpDZ+0Ucjoo=; b=xmvF63ZLfxpGzJwpfbJQe3x7y98X85ppH3ezhlH77PD4ic40UmtUQh5L1OAPL0oU4xzBfV IVUZLjYvptrecxg5b3Sty4Zg4Ftm6gllNHfWDib1btllITaZZ9a8ozxtQO3z7MpTMPCAEC XdwhT1C2hFX11TqX6fwwcMqaFPIWuGBWgEWUCpPYTOVMmyXXzh1kdGfkmWbTkQHiDLVq6h 0ZedxbFasKmX2naHFqIJ//e8xO3hrPKmhVZMuo0486I91SJllioI6JAX+vzUMirs3X5va4 1Br+4Z4obyiLBCUzFPn9d0lijrXGW3SMTAhJHbLPAK5bhK/3g95Rbz9u7UbYEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg290dH1z5Sj for ; Tue, 10 Mar 2026 16:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 454f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9eb035ff8439 - main - pciconf: Factor out fetching of matching devices from list_devs List-Id: Commit messages for the main 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: 9eb035ff8439195f565b9e3180b727333a4e7170 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:53 +0000 Message-Id: <69b04ca1.454f4.3db1a766@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9eb035ff8439195f565b9e3180b727333a4e7170 commit 9eb035ff8439195f565b9e3180b727333a4e7170 Author: John Baldwin AuthorDate: 2026-03-10 16:48:04 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:48:04 +0000 pciconf: Factor out fetching of matching devices from list_devs The new fetch_devs function fetches the entire list of PCI devices into a single list, retrying if the list changes while it is being fetched. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55768 --- usr.sbin/pciconf/pciconf.c | 168 ++++++++++++++++++++++++++------------------- 1 file changed, 96 insertions(+), 72 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 4d3941131858..6aa33d332c08 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -200,23 +200,13 @@ main(int argc, char **argv) return (exitstatus); } -static void -list_devs(const char *name, int verbose, int bars, int bridge, int caps, - int errors, int vpd, int listmode) +static bool +fetch_devs(int fd, const char *name, struct pci_conf **confp, size_t *countp) { - int fd; struct pci_conf_io pc; struct pci_conf conf[255], *p; struct pci_match_conf patterns[1]; - int none_count = 0; - - if (verbose) - load_vendors(); - - fd = open(_PATH_DEVPCI, (bridge || caps || errors) ? O_RDWR : O_RDONLY, - 0); - if (fd < 0) - err(1, "%s", _PATH_DEVPCI); + size_t count; bzero(&pc, sizeof(struct pci_conf_io)); pc.match_buf_len = sizeof(conf); @@ -232,75 +222,109 @@ list_devs(const char *name, int verbose, int bars, int bridge, int caps, pc.patterns = patterns; } + p = NULL; + count = 0; do { if (ioctl(fd, PCIOCGETCONF, &pc) == -1) err(1, "ioctl(PCIOCGETCONF)"); - /* - * 255 entries should be more than enough for most people, - * but if someone has more devices, and then changes things - * around between ioctls, we'll do the cheesy thing and - * just bail. The alternative would be to go back to the - * beginning of the list, and print things twice, which may - * not be desirable. - */ if (pc.status == PCI_GETCONF_LIST_CHANGED) { - warnx("PCI device list changed, please try again"); - exitstatus = 1; - close(fd); - return; - } else if (pc.status == PCI_GETCONF_ERROR) { + free(p); + p = NULL; + count = 0; + pc.offset = 0; + continue; + } + + if (pc.status == PCI_GETCONF_ERROR) { warnx("error returned from PCIOCGETCONF ioctl"); - exitstatus = 1; - close(fd); - return; + return (false); } - if (listmode == 2) - printf("drv\tselector\tclass rev hdr " - "vendor device subven subdev\n"); - for (p = conf; p < &conf[pc.num_matches]; p++) { - if (listmode == 2) - printf("%s%d@pci%d:%d:%d:%d:" - "\t%06x %02x %02x " - "%04x %04x %04x %04x\n", - *p->pd_name ? p->pd_name : "none", - *p->pd_name ? (int)p->pd_unit : - none_count++, p->pc_sel.pc_domain, - p->pc_sel.pc_bus, p->pc_sel.pc_dev, - p->pc_sel.pc_func, (p->pc_class << 16) | - (p->pc_subclass << 8) | p->pc_progif, - p->pc_revid, p->pc_hdr, - p->pc_vendor, p->pc_device, - p->pc_subvendor, p->pc_subdevice); - else - printf("%s%d@pci%d:%d:%d:%d:" - "\tclass=0x%06x rev=0x%02x hdr=0x%02x " - "vendor=0x%04x device=0x%04x " - "subvendor=0x%04x subdevice=0x%04x\n", - *p->pd_name ? p->pd_name : "none", - *p->pd_name ? (int)p->pd_unit : - none_count++, p->pc_sel.pc_domain, - p->pc_sel.pc_bus, p->pc_sel.pc_dev, - p->pc_sel.pc_func, (p->pc_class << 16) | - (p->pc_subclass << 8) | p->pc_progif, - p->pc_revid, p->pc_hdr, - p->pc_vendor, p->pc_device, - p->pc_subvendor, p->pc_subdevice); - if (verbose) - list_verbose(p); - if (bars) - list_bars(fd, p); - if (bridge) - list_bridge(fd, p); - if (caps) - list_caps(fd, p, caps); - if (errors) - list_errors(fd, p); - if (vpd) - list_vpd(fd, p); + + p = reallocf(p, (count + pc.num_matches) * sizeof(*p)); + if (p == NULL) { + warnx("failed to allocate buffer for PCIOCGETCONF results"); + return (false); } + + memcpy(p + count, conf, pc.num_matches * sizeof(*p)); + count += pc.num_matches; } while (pc.status == PCI_GETCONF_MORE_DEVS); + *confp = p; + *countp = count; + return (true); +} + +static void +list_devs(const char *name, int verbose, int bars, int bridge, int caps, + int errors, int vpd, int listmode) +{ + int fd; + struct pci_conf *conf, *p; + size_t count; + int none_count = 0; + + if (verbose) + load_vendors(); + + fd = open(_PATH_DEVPCI, (bridge || caps || errors) ? O_RDWR : O_RDONLY, + 0); + if (fd < 0) + err(1, "%s", _PATH_DEVPCI); + + if (!fetch_devs(fd, name, &conf, &count)) { + exitstatus = 1; + close(fd); + return; + } + + if (listmode == 2) + printf("drv\tselector\tclass rev hdr " + "vendor device subven subdev\n"); + for (p = conf; p < conf + count; p++) { + if (listmode == 2) + printf("%s%d@pci%d:%d:%d:%d:" + "\t%06x %02x %02x " + "%04x %04x %04x %04x\n", + *p->pd_name ? p->pd_name : "none", + *p->pd_name ? (int)p->pd_unit : + none_count++, p->pc_sel.pc_domain, + p->pc_sel.pc_bus, p->pc_sel.pc_dev, + p->pc_sel.pc_func, (p->pc_class << 16) | + (p->pc_subclass << 8) | p->pc_progif, + p->pc_revid, p->pc_hdr, + p->pc_vendor, p->pc_device, + p->pc_subvendor, p->pc_subdevice); + else + printf("%s%d@pci%d:%d:%d:%d:" + "\tclass=0x%06x rev=0x%02x hdr=0x%02x " + "vendor=0x%04x device=0x%04x " + "subvendor=0x%04x subdevice=0x%04x\n", + *p->pd_name ? p->pd_name : "none", + *p->pd_name ? (int)p->pd_unit : + none_count++, p->pc_sel.pc_domain, + p->pc_sel.pc_bus, p->pc_sel.pc_dev, + p->pc_sel.pc_func, (p->pc_class << 16) | + (p->pc_subclass << 8) | p->pc_progif, + p->pc_revid, p->pc_hdr, + p->pc_vendor, p->pc_device, + p->pc_subvendor, p->pc_subdevice); + if (verbose) + list_verbose(p); + if (bars) + list_bars(fd, p); + if (bridge) + list_bridge(fd, p); + if (caps) + list_caps(fd, p, caps); + if (errors) + list_errors(fd, p); + if (vpd) + list_vpd(fd, p); + } + + free(conf); close(fd); } From nobody Tue Mar 10 16:53:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2B52wvz6Vwdp for ; Tue, 10 Mar 2026 16:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2B3fddz3lG6 for ; Tue, 10 Mar 2026 16:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JeVFDjTiofdrYk8VBh76wspnnkxz704Hf1z7AiU/kkg=; b=iKK/BYHZN5Twtav6fKOzbEhvBEh5EdrBDsQJEmTiq5ZAQA1Cs16ghnGq1VC32jzvgcSIaL 4b9BhAqQGgdFJsWXS5QJ7kEXE7FbzMFt/ZmBsturJdeT83r2CtGFBzVD3/rW0H15CB8HcL XY+X+PMuIepD8g3YhRFoMjHVKN32NIyIaImUxJG8juFzSb90X68R88tg9GVkp62L9Xav+q AY27EkZkCUzOFyGZLHPaAVD/bFABQf775ExhVJPTNJieiTrimEW8aIvQB2q6GPIFUmXldL hekpE2zOXM9sm8pclLAXPxPk4X2rD6BZvQEWfVl0KNtjtWvSMyvt500ZiYA0bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161634; a=rsa-sha256; cv=none; b=sPDPpGGvpkoPytU/XclQLZBavewL8VG6yVUIWBkOV7OzHa9ov5tGLI73iZALJqsk3oGsKd hv/5m7aa3Gxu1jW3NA0xRbNrcYS0j2dBhQODiPxjqQkoJ2qAWJxqwbb5xF/YztKT7YPXXF 4Vctt0Y/Sr1l7TD50GlJQQr+e5JWAwcPBu1Jzk9QDAPvsqs+tIPX2gRmVhXsSNbp9I4afh Ga/H2AQNxsVraU8IrQUmtW5P2N8nR0FLF86xzR2Sobt6T2hM+T4Uii3frvvtRGCkDnFkBr bt81O6xM1kfAdfOnpKQO2tQS0e0cGIPjwrUkGT3o1bMniyCUJJxecW01mSW3Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JeVFDjTiofdrYk8VBh76wspnnkxz704Hf1z7AiU/kkg=; b=XRoC/W/kq/QP5JTwtpLQAMH4INvICLMIjSm6ISSGxH0tfFRxjyk+YINvgQa7VHwvfdhv2e tixhQhRyNhPx4kYZ2CZhS858A6GJMYZXWXXOS40id1mG5OMWwRf1BaOEWRVE3gdiTYr3Xj f9TWMsi6EFX7YeYldOSgexokXfD7Y4P8yrTIhn1RzaukIeOI7VdHyqTVziyD7CVPpwZl3E GBHrtqq5FKlNP1P9XjUKK30j7gKSxlM4KNsj3OejKZoBqisdM/filEDv2N0nsBThMQA+ui a/hxaP6xqwF6I0OI+GDVp5+KS/te12yYIZndwFxv5xDyDGxtxzer5mC2UEdlrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2B1Rgmz5l1 for ; Tue, 10 Mar 2026 16:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4540f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: c8fb16542a52 - main - pciconf: Use a single enum to track the current operation mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: c8fb16542a52ca889c1adf56b2ce13b4ad4cf887 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:54 +0000 Message-Id: <69b04ca2.4540f.6a857cbc@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c8fb16542a52ca889c1adf56b2ce13b4ad4cf887 commit c8fb16542a52ca889c1adf56b2ce13b4ad4cf887 Author: John Baldwin AuthorDate: 2026-03-10 16:48:16 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:48:16 +0000 pciconf: Use a single enum to track the current operation mode Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55769 --- usr.sbin/pciconf/pciconf.c | 66 ++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 6aa33d332c08..6c26621ae186 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -71,7 +71,7 @@ static struct pcisel getsel(const char *str); static void list_bridge(int fd, struct pci_conf *p); static void list_bars(int fd, struct pci_conf *p); static void list_devs(const char *name, int verbose, int bars, int bridge, - int caps, int errors, int vpd, int listmode); + int caps, int errors, int vpd, int compact); static void list_verbose(struct pci_conf *p); static void list_vpd(int fd, struct pci_conf *p); static const char *guess_class(struct pci_conf *p); @@ -103,17 +103,17 @@ int main(int argc, char **argv) { int c, width; - int listmode, readmode, writemode, attachedmode, dumpbarmode; - int bars, bridge, caps, errors, verbose, vpd; + enum { NONE, LIST, READ, WRITE, ATTACHED, DUMPBAR } mode; + int compact, bars, bridge, caps, errors, verbose, vpd; - listmode = readmode = writemode = attachedmode = dumpbarmode = 0; - bars = bridge = caps = errors = verbose = vpd= 0; + mode = NONE; + compact = bars = bridge = caps = errors = verbose = vpd = 0; width = 4; while ((c = getopt(argc, argv, "aBbcDehlrwVvx")) != -1) { switch(c) { case 'a': - attachedmode = 1; + mode = ATTACHED; break; case 'B': @@ -130,7 +130,7 @@ main(int argc, char **argv) break; case 'D': - dumpbarmode = 1; + mode = DUMPBAR; break; case 'e': @@ -142,15 +142,17 @@ main(int argc, char **argv) break; case 'l': - listmode++; + if (mode == LIST) + compact = 1; + mode = LIST; break; case 'r': - readmode = 1; + mode = READ; break; case 'w': - writemode = 1; + mode = WRITE; break; case 'v': @@ -170,30 +172,38 @@ main(int argc, char **argv) } } - if ((listmode && optind >= argc + 1) - || (writemode && optind + 3 != argc) - || (readmode && optind + 2 != argc) - || (attachedmode && optind + 1 != argc) - || (dumpbarmode && (optind + 2 > argc || optind + 4 < argc)) - || (width == 8 && !dumpbarmode)) - usage(); - - if (listmode) { + switch (mode) { + case LIST: + if (optind >= argc + 1) + usage(); list_devs(optind + 1 == argc ? argv[optind] : NULL, verbose, - bars, bridge, caps, errors, vpd, listmode); - } else if (attachedmode) { + bars, bridge, caps, errors, vpd, compact); + break; + case ATTACHED: + if (optind + 1 != argc) + usage(); chkattached(argv[optind]); - } else if (readmode) { + break; + case READ: + if (optind + 2 != argc || width == 8) + usage(); readit(argv[optind], argv[optind + 1], width); - } else if (writemode) { + break; + case WRITE: + if (optind + 3 != argc || width == 8) + usage(); writeit(argv[optind], argv[optind + 1], argv[optind + 2], width); - } else if (dumpbarmode) { + break; + case DUMPBAR: + if (optind + 2 > argc || optind + 4 < argc) + usage(); dump_bar(argv[optind], argv[optind + 1], optind + 2 < argc ? argv[optind + 2] : NULL, optind + 3 < argc ? argv[optind + 3] : NULL, width, verbose); - } else { + break; + default: usage(); } @@ -258,7 +268,7 @@ fetch_devs(int fd, const char *name, struct pci_conf **confp, size_t *countp) static void list_devs(const char *name, int verbose, int bars, int bridge, int caps, - int errors, int vpd, int listmode) + int errors, int vpd, int compact) { int fd; struct pci_conf *conf, *p; @@ -279,11 +289,11 @@ list_devs(const char *name, int verbose, int bars, int bridge, int caps, return; } - if (listmode == 2) + if (compact) printf("drv\tselector\tclass rev hdr " "vendor device subven subdev\n"); for (p = conf; p < conf + count; p++) { - if (listmode == 2) + if (compact) printf("%s%d@pci%d:%d:%d:%d:" "\t%06x %02x %02x " "%04x %04x %04x %04x\n", From nobody Tue Mar 10 16:53:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2C5PrVz6VwbY for ; Tue, 10 Mar 2026 16:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2C2GCDz3lBP for ; Tue, 10 Mar 2026 16:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPEFoEQh2uyhZM/rGYcUegUpVrfKXPOkX+1cxNzOcOs=; b=b6db6psS6tWIIGYmIOtL3tEJ/i7sH5p6OeXyY3GXm04Nwa07qt2sFYRVjrdOAORp164zmb LEpjjvpnCC2M83bsknzZih4trpv/5aUhR92781GZrPKv/cV5rXnj3RAdHTvr1QfHZwHMF2 2YtdiTXSvj3CFIeyen2wQLTN5cZSYr7tngy4Z+kBTD6zzXJKeMZVVHk+yLtcHaRN4FwtRA ey9TmFM0NS/y4ewzapuoOAgmS0DZkSZEKDE6Btc2SGoCpJxzDvFK8Yo2pOswqNx2pEuK6h kWAJQlEczy2HGoMJ64ttuqBfYikBy/vODCrVTB5Xwek0UJEvINT7OJzGZ31plw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161635; a=rsa-sha256; cv=none; b=VzM8/s6Tf3yAFwfSZKv/Argp8z8tf4lqHQyETPhH5I+idtWO4V/7vk7RQ02Kua7oIKv8Lq ud9E+m+r10C51mJV7z4ZfHyehS9mfrPVz5KUzSqr9TN1QkZ+dZkMDKrEg2l+3UVMQkU3lN UiIzo9saKM3Q8O4K0mkB1J7+xEajxAyqNGnanYySjHuhGIi44O6oDvkkbroyOMUIUcVR0T H5J7e9JTl1Z1T3M5U9WtM+gigbgjKNaxGG+AA8TJ8YnLQ7WI1Q8sB51DCyFsnJUBiEkhXF vjVvdlCkYSiuII8QggLeHWk51JuIbIdPY/cyzE2DI8TUM4E2vp7GCHPbjBlj9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPEFoEQh2uyhZM/rGYcUegUpVrfKXPOkX+1cxNzOcOs=; b=dXbt4+fctTPW73/lZlpesDmempY6cCHbAL3CT8FXAZnpqPH+LDcIdRwsaHHZiU2cEfDNnD fxBQkLckmoNWa046sowvtjibm//8A53HogyL14IuBfNWWxHcEbfnDIFWac+Ht2YXuyy7wK nDYL4nKwUKsYLKlFgbsUX7CaeR8Ons4UlSVbhlg4aj/JuZiMzeKzieKTXh9Lk82130gTfE vmAIBvKmOiAzHH8cUjYXwl+SP3DVMFRBpLcKOA1Vq9MwWImtydOSgzqfszheNOFB3Y7kHc dwobXqJxHcPWDZtGkKdkV863Ya/KrL61RJ1i5HnSyvCVkK8/psnx4Jz1oq1T/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2C1nwVz4tV for ; Tue, 10 Mar 2026 16:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42efc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: c3ac5f14c8b3 - main - pci.4: Quote argument to -width for a list block List-Id: Commit messages for the main 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: c3ac5f14c8b330c036149d1d24cd3369d1418de2 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:55 +0000 Message-Id: <69b04ca3.42efc.584229ec@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c3ac5f14c8b330c036149d1d24cd3369d1418de2 commit c3ac5f14c8b330c036149d1d24cd3369d1418de2 Author: John Baldwin AuthorDate: 2026-03-10 16:49:10 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:49:10 +0000 pci.4: Quote argument to -width for a list block This fixes an mdoc warning and also properly indents this list. While here, update the quoted argument to be the longest tag in the list. Also while here, correct the description of pd_numa_domain. NUMA domains are a property of the device, not of the driver. Reviewed by: ziaee, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55770 --- share/man/man4/pci.4 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4 index b99747969035..f5d42efb4f37 100644 --- a/share/man/man4/pci.4 +++ b/share/man/man4/pci.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 31, 2025 +.Dd March 10, 2026 .Dt PCI 4 .Os .Sh NAME @@ -236,7 +236,7 @@ Driver name. .It pd_unit Driver unit number. .It pd_numa_domain -Driver NUMA domain. +Device NUMA domain. .It pc_reported_len Length of the valid portion of the encompassing .Vt pci_conf @@ -382,7 +382,7 @@ the memory-mapped PCI BAR into its address space. The input parameters and results are passed in the .Va pci_bar_mmap structure, which has the following fields: -.Bl -tag -width Vt struct pcise pbm_sel +.Bl -tag -width "uint64_t pbm_bar_length" .It Vt void *pbm_map_base Reports the established mapping base to the caller. If From nobody Tue Mar 10 16:53:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2D6wmVz6VwhJ for ; Tue, 10 Mar 2026 16:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2D33Wqz3krZ for ; Tue, 10 Mar 2026 16:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VS7BCez3ZEJcWYbrF6VUBfCpzrP75htjis1zL+fUQRs=; b=qLvTJ9bBM4MrssOx7a32omZRCAKcn9jKhL4M1MhbPa0XUumTxOo1q5+ndvXnCXvMFA//Ha 3vsyhsrLEoEH17xgMUfPhqk4AdbAZ3tMl6NOwcgWeZyS9B4McATsCkBIbkscjCam73DcKM YLMJM2qTkdS7N1JwJUKHcdoAJeSquPsP5PS6RIKk1IapheDZzbXb7HMyT0JTv5gOonEp1F yAX4PUeyOZ78fP51u2CIRq2kGxFHhEDN3LK7TxQZjxA5P+6RINq9mrXh0He5oXuCNAIYhj ySbrAjHls7edH2d7e5qAOENs+R1gUUoLT/Z0LQf3CzITkB7hNlb/va+A6yf7Ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161636; a=rsa-sha256; cv=none; b=DgZ/ebYs9pbYYNhD5z+ZKYBDG/M5RTy367MN+4AmSyCTCHf7V/lUcEewjJC0xMO8mdpUvQ yKxQb85YLIRQE7Y9mmu3EePmW9Y+JDFNElq/St36yXBFCxkpw5gdqmS5WihSsqqwNKDua4 WKBOHHl5998XM11T1R3AcUzqAzu2YwevjinrrlY+C6E/eAEuKsz3hPn4lu+2zbZ74PaDz4 TgmsauJeWfxdV+7eXTR+5DfckrUYltJInqZ0846EN/wXSepAnPRSutSkqf7aEEXMnRixcS Tej0rAZLmR5NAzwgscI5tbiz2fKgA7SAB177GWotOQ4xUwuMS5RuUjEN/5lKHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VS7BCez3ZEJcWYbrF6VUBfCpzrP75htjis1zL+fUQRs=; b=cIi1f6reVLW+TBOs4Cf1o3mTnj2iG80nEG0W6jWsii5xzFGyh7EOfVut8krDJwfcZxdh+Z QidmmYCjGFzVYZ/SptSjf1YbsLveBMkIsdeto3Q8OagbWLnUbEM654byVvP7xKOJRx86W2 21xL9ISDjyi1YNGq5dDql8sQz+amYfytEd5+/03BirmcNDvAkVX2x9Vo3ELKGTfUFE9xuW l9VVudUPtRwozUDlnTOqKqSSPpOPurgC78seKVQhLNo9WMXuu/Qa/M1rAT/Oa21nGijp5G TQ/x89E1b53yo5zqDHzJD/N1Lc/gt4cefsFhOkadJgv22SSsusuTXbJMCpA2dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2D2fLvz5Xq for ; Tue, 10 Mar 2026 16:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 440c3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 7e7a1b61531a - main - pci: Export bus numbers for bridge devices in struct pci_conf List-Id: Commit messages for the main 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: 7e7a1b61531a29b4a0a5cdac66b96f420e6c66e4 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:56 +0000 Message-Id: <69b04ca4.440c3.3acee0c5@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7e7a1b61531a29b4a0a5cdac66b96f420e6c66e4 commit 7e7a1b61531a29b4a0a5cdac66b96f420e6c66e4 Author: John Baldwin AuthorDate: 2026-03-10 16:49:21 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:49:21 +0000 pci: Export bus numbers for bridge devices in struct pci_conf This exports bus information about bridges to userspace via the less-privileged PCIOCGETCONF ioctl. Previously if userspace wished to query this information, it had to use direct PCI config register access which requires higher privilege. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55771 --- share/man/man4/pci.4 | 6 ++++++ sys/dev/pci/pci.c | 3 +++ sys/dev/pci/pci_user.c | 32 +++++++++++++++++++++++++++++++- sys/sys/pciio.h | 4 +++- 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4 index f5d42efb4f37..38a427e64f4f 100644 --- a/share/man/man4/pci.4 +++ b/share/man/man4/pci.4 @@ -244,6 +244,12 @@ structure. This should always be equivalent to the offset of the .Va pc_spare member. +.It pc_secbus +Secondary PCI bus number. +.Pq Only valid for bridge devices +.It pc_subbus +Subordinate PCI bus number. +.Pq Only valid for bridge devices .It pc_spare Reserved for future use. .El diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index a46813cc155a..0dddd2dd263f 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -798,6 +798,9 @@ pci_fill_devinfo(device_t pcib, device_t bus, int d, int b, int s, int f, devlist_entry->conf.pc_progif = cfg->progif; devlist_entry->conf.pc_revid = cfg->revid; + devlist_entry->conf.pc_secbus = cfg->bridge.br_secbus; + devlist_entry->conf.pc_subbus = cfg->bridge.br_subbus; + pci_numdevs++; pci_generation++; diff --git a/sys/dev/pci/pci_user.c b/sys/dev/pci/pci_user.c index 9768030995e7..0e23363fba73 100644 --- a/sys/dev/pci/pci_user.c +++ b/sys/dev/pci/pci_user.c @@ -81,7 +81,9 @@ struct pci_conf32 { u_int32_t pd_unit; /* device unit number */ int pd_numa_domain; /* device NUMA domain */ u_int32_t pc_reported_len;/* length of PCI data reported */ - char pc_spare[64]; /* space for future fields */ + uint8_t pc_secbus; /* secondary bus number */ + uint8_t pc_subbus; /* subordinate bus number */ + char pc_spare[62]; /* space for future fields */ }; struct pci_match_conf32 { @@ -889,6 +891,8 @@ pci_conf_for_copyout(const struct pci_conf *pcp, union pci_conf_union *pcup, pcup->pc32.pd_unit = (uint32_t)pcp->pd_unit; if (cmd == PCIOCGETCONF32) { pcup->pc32.pd_numa_domain = pcp->pd_numa_domain; + pcup->pc32.pc_secbus = pcp->pc_secbus; + pcup->pc32.pc_subbus = pcp->pc_subbus; pcup->pc32.pc_reported_len = (uint32_t)offsetof(struct pci_conf32, pc_spare); } @@ -1315,6 +1319,32 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t else dinfo->conf.pd_numa_domain = 0; + if (dinfo->cfg.dev != NULL) { + /* + * Re-read the values in case a driver + * changed them after the device was + * initially scanned. + */ + switch (dinfo->conf.pc_hdr) { + case PCIM_HDRTYPE_BRIDGE: + dinfo->conf.pc_secbus = + pci_read_config(dinfo->cfg.dev, + PCIR_SECBUS_1, 1); + dinfo->conf.pc_subbus = + pci_read_config(dinfo->cfg.dev, + PCIR_SUBBUS_1, 1); + break; + case PCIM_HDRTYPE_CARDBUS: + dinfo->conf.pc_secbus = + pci_read_config(dinfo->cfg.dev, + PCIR_SECBUS_2, 1); + dinfo->conf.pc_subbus = + pci_read_config(dinfo->cfg.dev, + PCIR_SUBBUS_2, 1); + break; + } + } + if (pattern_buf == NULL || pci_conf_match(cmd, pattern_buf, num_patterns, &dinfo->conf) == 0) { diff --git a/sys/sys/pciio.h b/sys/sys/pciio.h index 64c0b32cb8e2..58928544f171 100644 --- a/sys/sys/pciio.h +++ b/sys/sys/pciio.h @@ -79,7 +79,9 @@ struct pci_conf { u_long pd_unit; /* device unit number */ int pd_numa_domain; /* device NUMA domain */ size_t pc_reported_len;/* length of PCI data reported */ - char pc_spare[64]; /* space for future fields */ + uint8_t pc_secbus; /* secondary bus number */ + uint8_t pc_subbus; /* subordinate bus number */ + char pc_spare[62]; /* space for future fields */ }; struct pci_match_conf { From nobody Tue Mar 10 16:53:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2G0Xynz6VwkK for ; Tue, 10 Mar 2026 16:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2F5l29z3l05 for ; Tue, 10 Mar 2026 16:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3qdaVA7SKhirRCfPz9VZGcA7lVWxzZZscafi1WjRwbc=; b=gOJnrtO/RT8DFzgPSCdbg3Og2kSCh5zzk0mwuaYTLkGfLkb7K2gdLodWgEWDr/mk8kD9fK E25Nw8eSed3m/CruHFsSMrm0skQ22guHuNPvufn1jtX3g0Suy945R8k+e4xKrYotwEgDM4 ly6ytN+WgslhCTYDOQqyWtsVlQ72DGubMHBzFOERTTL0TS+sCZbeT6w26JmywE1IhED9jt J2GvO4dTFCazGmPR3+GaoOqVZ7ooH80fnzfp7iufbXnMTtNTaf6Q9MZh72eJKP7TCNzWCU AehU6gKNTVzYeBPUnNUcawGMzhOXbMjjFQ0w84wWZkmlNmLhezrBOM6ne9cgDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161637; a=rsa-sha256; cv=none; b=mE8UqaY4UR+AQlEDQILXtvmT0dAuI+PDIjV6xxlBMmUxcrW+wSLQJ/BgSp0/ApyeNp79z/ qfApdXcMVBfywMHPbbji4velpu9yQUDoF/4o2X/hk6ZUqcNR0thVNZYwLx+RdejSBbpFPJ RYx+FWYXrzH2v3jxY8FY48rn0sVSBotiScqg3QHlkIi/fK0mZJV33wopOrGHa5PED9xUSy 8gx6aL4BDpBMDVtW00Sa+2iPMKHaXg9W+ArdpsdKugUlfPPhKZzewlbIDPkrXpE0+YupeH nI2fJUnMc6abSVaDqe6KoqAR0aMLvXwN48uxQArhD/x3V7vzE0sbbSVtMfzaig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3qdaVA7SKhirRCfPz9VZGcA7lVWxzZZscafi1WjRwbc=; b=gVnnG5f+ROtboA8cNQjy6pmDFvW8DlEiE9z4ZOpETJL3RO+hB74YTZTkOjKFiDqtYSRhvf 7jLJW06PqEJ34HU7o7uMPZehBgzyhTltg+059YtVouGxSHWSUMKld5KYQSGKpt9VyU/oWC HpilgIufCnIdIeNxtJ8RhEHBYi2Gxwr3f3MwdX9z+A7QszrcXpt4E93xNeKksx4RqqTGpJ mlbgdQ1sAUs2LyVrv6YieC9wyrjec7BfpHPHvbrOWnIPJDWT9rD6WXmBFKL2mdNz2ai36H alkMRk9rmwRuMOyjn3p+yk6fWjKmQdiDrTbqOYqIeNkjwS6n7mby72Jt7vM4TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2F3TjMz4tW for ; Tue, 10 Mar 2026 16:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 440c7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9a1394957c30 - main - pciconf: Use the exported values of bus numbers for PCI bridges List-Id: Commit messages for the main 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: 9a1394957c3054c24995d684e8bc26878702dc6b Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:57 +0000 Message-Id: <69b04ca5.440c7.49f4f906@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9a1394957c3054c24995d684e8bc26878702dc6b commit 9a1394957c3054c24995d684e8bc26878702dc6b Author: John Baldwin AuthorDate: 2026-03-10 16:50:08 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:50:08 +0000 pciconf: Use the exported values of bus numbers for PCI bridges Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55772 --- usr.sbin/pciconf/pciconf.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 6c26621ae186..48520687197b 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -339,13 +339,9 @@ list_devs(const char *name, int verbose, int bars, int bridge, int caps, } static void -print_bus_range(int fd, struct pci_conf *p, int secreg, int subreg) +print_bus_range(struct pci_conf *p) { - uint8_t secbus, subbus; - - secbus = read_config(fd, &p->pc_sel, secreg, 1); - subbus = read_config(fd, &p->pc_sel, subreg, 1); - printf(" bus range = %u-%u\n", secbus, subbus); + printf(" bus range = %u-%u\n", p->pc_secbus, p->pc_subbus); } static void @@ -511,11 +507,11 @@ list_bridge(int fd, struct pci_conf *p) switch (p->pc_hdr & PCIM_HDRTYPE) { case PCIM_HDRTYPE_BRIDGE: - print_bus_range(fd, p, PCIR_SECBUS_1, PCIR_SUBBUS_1); + print_bus_range(p); print_bridge_windows(fd, p); break; case PCIM_HDRTYPE_CARDBUS: - print_bus_range(fd, p, PCIR_SECBUS_2, PCIR_SUBBUS_2); + print_bus_range(p); print_cardbus_windows(fd, p); break; } From nobody Tue Mar 10 16:53:58 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2H13vZz6Vwbk for ; Tue, 10 Mar 2026 16:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2G4xzTz3lJl for ; Tue, 10 Mar 2026 16:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZouUllapgp5m1oaRVeLYzmX04Z0Sgv3zMmMumlt8qE=; b=CRjzeurUsRjVMPwrxzW1dMLQkNzYPamLPrBBWWRwD1QS5Y+XF30gfInWrVqODfv160M/rg wCsX+T0wUHYzzid4b60wbjcXsBSupw/VeXzloAdS9B6ZeU8Hh1Ovm1u9/5PgnXE6AWocQ+ 2s5mwzcuNCf6DH+E17u9++xEVfEZLQ0LVfZuubznQq89K4ecCUzshEG6ri73Kh6Yx6oCry bFJ1+kyRj57DmodXpfUvkRawW5PoMBmgRaIYz/uKwIFoCqBj7CVcfyQnDf4aBelbmrVTWb bqy7mxBCZm2szN86X4Y+1mZAygSVKozDC8Q2J6QVUAgWxvpmunl1qhr6Rej8LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161638; a=rsa-sha256; cv=none; b=yK0wOGH5TPpPw0Kif/axcJzE6gzzxBc3DSI03h8dBf9WEt6MlLKE5mFDlmiTBU5s09H+F6 qsLpzTdgdkKwjOnwkcvZmdbE2qhHuJ5ypEbcNlbsQkwIoPh5wJTPVxWH/Uizk3nu0GLLBd b2i2dCPbySn1rkfgn8RtQtblrusNESm4j71uyrzGhpYZJeeiCJPanMKEsisImDMyaIe3ei WTVqZ6LeAKPJoNsXrUuyMGZ4iW66aBIrSEXoV54kn+g/sOjoIuBExr8TbpclzeSbeKVIt6 dRvUSLw5hJEPIo9NDqD8XBba8AyhsVvLmFn9VFCQyDQ9fCdU1eqUliFUngkn+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZouUllapgp5m1oaRVeLYzmX04Z0Sgv3zMmMumlt8qE=; b=GrOQG4YzfKykHCV7o9PBT1uTZAxgF0zqeWYORPdu9QTIHKlnmusJm/fdanNiD1zm+G1Nxe 0+C6UsS2SFMXRNpFANOawMh1fmp/986mjfyL80mUk/yLB3gOOiJoG0QXCfxZQpI7P09upe aPOpto0GVYdLvNoG+XS17ACtZv1pnMsJXQ1jiCylnUnld/ASJjb28UorOW4QzZyKqdClIX eFdzvLTK0+alca1SY7tTaTnBCbwIKYQxgY1qH+O0TqhWBCjtfSqbERGr+TRCyNkypuML99 4Cqbb2zx1CqGmYEUcnFpfaNHSQxz9mhhTEqjF/pp/8VNJ8ACxX38vdxKczCf/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2G4LPlz55v for ; Tue, 10 Mar 2026 16:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4568b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 98a0d2283701 - main - pciconf.8: Reorganize slightly to handle additional modes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 98a0d2283701e08353ce670c8023803c58a4994c Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:58 +0000 Message-Id: <69b04ca6.4568b.5c5c5c32@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=98a0d2283701e08353ce670c8023803c58a4994c commit 98a0d2283701e08353ce670c8023803c58a4994c Author: John Baldwin AuthorDate: 2026-03-10 16:50:52 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:50:52 +0000 pciconf.8: Reorganize slightly to handle additional modes Move the description of the optional device argument earlier before describing individual command modes. Add a subsection for list mode and a second subsection for the other modes that work with a single device. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55773 --- usr.sbin/pciconf/pciconf.8 | 58 +++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8 index 6c67e9e50df6..c9cbe483a1ac 100644 --- a/usr.sbin/pciconf/pciconf.8 +++ b/usr.sbin/pciconf/pciconf.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 19, 2025 +.Dd March 10, 2026 .Dt PCICONF 8 .Os .Sh NAME @@ -52,6 +52,31 @@ access to .Pa /dev/pci , normally only the super-user. .Pp +A +.Ar device +can be identified either by a device name if the device is +attached to a driver or by a selector. +Selectors identify a PCI device by its address in PCI config space and +can take one of the following forms: +.Pp +.Bl -bullet -offset indent -compact +.It +.Li pci Ns Va domain Ns \&: Ns Va bus Ns \&: Ns Va device Ns \&: \ +Ns Va function Ns +.It +.Li pci Ns Va bus Ns \&: Ns Va device Ns \&: Ns Va function Ns +.It +.Li pci Ns Va bus Ns \&: Ns Va device Ns +.El +.Pp +In the case of an abridged form, omitted selector components are assumed to be 0. +An optional leading device name followed by @ and an optional final colon +will be ignored; this is so that the first column in the output of +.Nm +.Fl l +can be used without modification. +All numbers are base 10. +.Ss List Mode With the .Fl l option, @@ -260,36 +285,7 @@ argument is given with the flag, .Nm will only list details about a single device instead of all devices. -.Pp -All invocations of -.Nm -except for -.Fl l -require a -.Ar device . -The device can be identified either by a device name if the device is -attached to a driver or by a selector. -Selectors identify a PCI device by its address in PCI config space and -can take one of the following forms: -.Pp -.Bl -bullet -offset indent -compact -.It -.Li pci Ns Va domain Ns \&: Ns Va bus Ns \&: Ns Va device Ns \&: \ -Ns Va function Ns -.It -.Li pci Ns Va bus Ns \&: Ns Va device Ns \&: Ns Va function Ns -.It -.Li pci Ns Va bus Ns \&: Ns Va device Ns -.El -.Pp -In the case of an abridged form, omitted selector components are assumed to be 0. -An optional leading device name followed by @ and an optional final colon -will be ignored; this is so that the first column in the output of -.Nm -.Fl l -can be used without modification. -All numbers are base 10. -.Pp +.Ss Device Information Modes With the .Fl a flag, From nobody Tue Mar 10 16:53:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2J1qYmz6Vwmr for ; Tue, 10 Mar 2026 16:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVg2H623vz3kwj for ; Tue, 10 Mar 2026 16:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/uaPRRX5rQg1EuDz3wiZsF0w+OeKfYK2aH+KCGV7WQ=; b=gK/8lguOn5Z6ujKsVMl9hz2J+O9FVystGiWH+DIcAxW8ZuvdHstffhRCLCP8OsQeOpLYeI 72bH/hb4XEsEjdJfY//iM6K52YOUnrvU6ROkYUFbGUuW6vf1oHfjzbAwiVNudbSPZYehUj CkIt87pSp+yyXkY3YlXZN1Ms8Vf++Q05DAhmXt2Oqqqewe3+v1IFgMXmrRsF3oskhXq+xi xWMuUVS/MtTnA83zWWl3e1LN2agRJaYVYFBVfMqpz9AB2ufXxnRGzc2Bbl+OSfNif4p4Rz 3HSboOZvkSVQrvUx5vXjQ17bm9OjUyP/hn6At5ZCUfjBbdKvcNvGAPajPHg3rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773161639; a=rsa-sha256; cv=none; b=UArMZxhyHRmje08hobGyRel1QyhsBirJQIvzz+RCZYAC9MCVMrlfb47jfzCHPbdUHDKstU SJvLYVSXP1X3d14lhEvsy9O1aFOd0OsulmCg6vbN5aPkjptb6MjSQfFlVfuruB3MZwn3C5 C9wgPsdFU0crAyq6BsM/CA7/uVHaKHtaxc7324b88aIdSYhJbhLlUPknplrMtdXAbXMMMJ DlINoSZvp3Wgqo4NmcBb3w9/RK1995nmxGjI0QAVuB0OclzvUaunVFAKYjzAR1dLgKbRaP XbZH/WaJRzybhDA1+6n8NPdfjKTiHN5FxjzGNE8i5+UG9Cj0Zjxy15IhpEkl0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773161639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/uaPRRX5rQg1EuDz3wiZsF0w+OeKfYK2aH+KCGV7WQ=; b=jCnqPh6HojVGWUdhCrd/6M9Ch40yYo+eUPbInuQz5XlLXPSh8p0VA+6V//r4BWUlQICCPi u5C+mOoGDTVFWTKdCwHOc4R//XeDAeV5bdSV2QjlCuYBTz02vl3P6rWZ0RPoUm+QBCigsr n6KjQCDwcYbd0dvLItbZ9icM6zdPSwRjIOY5RM+lYrd/dUKWzmVZ4Gu3WNAP824n9nNowI lSIkxzsE0lUETMHXSa/kdTU8xZwifF7zCFI2H/fFrmm9Sj8Bq1DuD85sQjfNw+Hby5aENa W+rh1y/rdJu8FIet4oVSkeKdS1Orotm+LF9mS+3Co6105PES2RnMi6dpEgbKMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVg2H4vcnz5Xv for ; Tue, 10 Mar 2026 16:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43a7d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 16:53:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 14b8a27883c1 - main - pciconf: Add a tree mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 14b8a27883c15d3add3114f855eff7c6bda1b015 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 16:53:59 +0000 Message-Id: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=14b8a27883c15d3add3114f855eff7c6bda1b015 commit 14b8a27883c15d3add3114f855eff7c6bda1b015 Author: John Baldwin AuthorDate: 2026-03-10 16:51:00 +0000 Commit: John Baldwin CommitDate: 2026-03-10 16:51:00 +0000 pciconf: Add a tree mode This lists PCI devices in a hierarchy showing the parent/child relationship of PCI devices and bridges. While this is inspired by lspci -t output, the format is closer to ps -d and also prefers using new-bus device names when possible. If a device does not have a driver, the PCI selector is output in place of the device name. When the -v flag is given, the vendor and device ID strings are output after the device name. If a string for an ID isn't found, the hex ID values are output instead. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D55774 --- usr.sbin/pciconf/pciconf.8 | 24 +++++ usr.sbin/pciconf/pciconf.c | 254 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 276 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8 index c9cbe483a1ac..7958a538f3d9 100644 --- a/usr.sbin/pciconf/pciconf.8 +++ b/usr.sbin/pciconf/pciconf.8 @@ -33,6 +33,8 @@ .Nm .Fl l Oo Fl BbceVv Oc Op Ar device .Nm +.Fl t Oo Fl v Oc +.Nm .Fl a Ar device .Nm .Fl r Oo Fl b | h Oc Ar device addr Ns Op : Ns Ar addr2 @@ -285,6 +287,28 @@ argument is given with the flag, .Nm will only list details about a single device instead of all devices. +.Ss Tree Mode +With the +.Fl t +flag, +.Nm +lists PCI devices in a tree prefixing each device with indentation text showing +the sibling and parent/child relationships. +If the device has an attached driver, the device is identified by the driver +name and unit number; +otherwise, the device is identified by a PCI selector. +.Pp +Top-level entries in the tree identify top-level PCI buses. +Each bus is named as a partial PCI selector: +.Li pci Ns Va domain Ns \&: Ns Va bus Ns . +.Pp +If the +.Fl v +flag is specified, +the device name or PCI selector is followed by the device's vendor and device +strings from the vendor/device information database. +If an identification string is not found in the database, +the ID register values are output instead. .Ss Device Information Modes With the .Fl a diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c index 48520687197b..7da8aeadae93 100644 --- a/usr.sbin/pciconf/pciconf.c +++ b/usr.sbin/pciconf/pciconf.c @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -65,6 +66,13 @@ struct pci_vendor_info char *desc; }; + +struct pci_tree_entry { + TAILQ_ENTRY(pci_tree_entry) link; + TAILQ_HEAD(pci_tree_list, pci_tree_entry) children; + struct pci_conf *p; +}; + static TAILQ_HEAD(,pci_vendor_info) pci_vendors; static struct pcisel getsel(const char *str); @@ -72,6 +80,7 @@ static void list_bridge(int fd, struct pci_conf *p); static void list_bars(int fd, struct pci_conf *p); static void list_devs(const char *name, int verbose, int bars, int bridge, int caps, int errors, int vpd, int compact); +static void show_tree(int verbose); static void list_verbose(struct pci_conf *p); static void list_vpd(int fd, struct pci_conf *p); static const char *guess_class(struct pci_conf *p); @@ -91,6 +100,7 @@ usage(void) fprintf(stderr, "%s", "usage: pciconf -l [-BbcevV] [device]\n" + " pciconf -t [-v]\n" " pciconf -a device\n" " pciconf -r [-b | -h] device addr[:addr2]\n" " pciconf -w [-b | -h] device addr value\n" @@ -103,14 +113,14 @@ int main(int argc, char **argv) { int c, width; - enum { NONE, LIST, READ, WRITE, ATTACHED, DUMPBAR } mode; + enum { NONE, LIST, TREE, READ, WRITE, ATTACHED, DUMPBAR } mode; int compact, bars, bridge, caps, errors, verbose, vpd; mode = NONE; compact = bars = bridge = caps = errors = verbose = vpd = 0; width = 4; - while ((c = getopt(argc, argv, "aBbcDehlrwVvx")) != -1) { + while ((c = getopt(argc, argv, "aBbcDehlrtwVvx")) != -1) { switch(c) { case 'a': mode = ATTACHED; @@ -151,6 +161,9 @@ main(int argc, char **argv) mode = READ; break; + case 't': + mode = TREE; + break; case 'w': mode = WRITE; break; @@ -179,6 +192,11 @@ main(int argc, char **argv) list_devs(optind + 1 == argc ? argv[optind] : NULL, verbose, bars, bridge, caps, errors, vpd, compact); break; + case TREE: + if (optind != argc) + usage(); + show_tree(verbose); + break; case ATTACHED: if (optind + 1 != argc) usage(); @@ -338,6 +356,238 @@ list_devs(const char *name, int verbose, int bars, int bridge, int caps, close(fd); } +static int +pci_conf_compar(const void *lhs, const void *rhs) +{ + const struct pci_conf *l, *r; + + l = lhs; + r = rhs; + if (l->pc_sel.pc_domain != r->pc_sel.pc_domain) + return (l->pc_sel.pc_domain - r->pc_sel.pc_domain); + if (l->pc_sel.pc_bus != r->pc_sel.pc_bus) + return (l->pc_sel.pc_bus - r->pc_sel.pc_bus); + if (l->pc_sel.pc_dev != r->pc_sel.pc_dev) + return (l->pc_sel.pc_dev - r->pc_sel.pc_dev); + return (l->pc_sel.pc_func - r->pc_sel.pc_func); +} + +static void +tree_add_device(struct pci_tree_list *head, struct pci_conf *p, + struct pci_conf *conf, size_t count, bitstr_t *added) +{ + struct pci_tree_entry *e; + struct pci_conf *child; + size_t i; + + e = malloc(sizeof(*e)); + TAILQ_INIT(&e->children); + e->p = p; + TAILQ_INSERT_TAIL(head, e, link); + + switch (p->pc_hdr) { + case PCIM_HDRTYPE_BRIDGE: + case PCIM_HDRTYPE_CARDBUS: + break; + default: + return; + } + if (p->pc_secbus == 0) + return; + + assert(p->pc_subbus >= p->pc_secbus); + for (i = 0; i < count; i++) { + child = conf + i; + if (child->pc_sel.pc_domain < p->pc_sel.pc_domain) + continue; + if (child->pc_sel.pc_domain > p->pc_sel.pc_domain) + break; + if (child->pc_sel.pc_bus < p->pc_secbus) + continue; + if (child->pc_sel.pc_bus > p->pc_subbus) + break; + + if (child->pc_sel.pc_bus == p->pc_secbus) { + assert(bit_test(added, i) == 0); + bit_set(added, i); + tree_add_device(&e->children, conf + i, conf, count, + added); + continue; + } + + if (bit_test(added, i) == 0) { + /* + * This really shouldn't happen, but if for + * some reason a child bridge doesn't claim + * this device, display it now rather than + * later. + */ + bit_set(added, i); + tree_add_device(&e->children, conf + i, conf, count, + added); + continue; + } + } +} + +static bool +build_tree(struct pci_tree_list *head, struct pci_conf *conf, size_t count) +{ + bitstr_t *added; + size_t i; + + TAILQ_INIT(head); + + /* + * Allocate a bitstring to track which devices have already + * been added to the tree. + */ + added = bit_alloc(count); + if (added == NULL) + return (false); + + for (i = 0; i < count; i++) { + if (bit_test(added, i)) + continue; + + bit_set(added, i); + tree_add_device(head, conf + i, conf, count, added); + } + + free(added); + return (true); +} + +static void +free_tree(struct pci_tree_list *head) +{ + struct pci_tree_entry *e, *n; + + TAILQ_FOREACH_SAFE(e, head, link, n) { + free_tree(&e->children); + TAILQ_REMOVE(head, e, link); + free(e); + } +} + +static void +print_tree_entry(struct pci_tree_entry *e, const char *indent, bool last, + int verbose) +{ + struct pci_vendor_info *vi; + struct pci_device_info *di; + struct pci_tree_entry *child; + struct pci_conf *p = e->p; + char *indent_buf; + + printf("%s%c--- ", indent, last ? '`' : '|'); + if (p->pd_name[0] != '\0') + printf("%s%lu", p->pd_name, p->pd_unit); + else + printf("pci%d:%d:%d:%d", p->pc_sel.pc_domain, p->pc_sel.pc_bus, + p->pc_sel.pc_dev, p->pc_sel.pc_func); + + if (verbose) { + di = NULL; + TAILQ_FOREACH(vi, &pci_vendors, link) { + if (vi->id == p->pc_vendor) { + printf(" %s", vi->desc); + TAILQ_FOREACH(di, &vi->devs, link) { + if (di->id == p->pc_device) { + printf(" %s", di->desc); + break; + } + } + break; + } + } + if (vi == NULL) + printf(" vendor=0x%04x device=0x%04x", p->pc_vendor, + p->pc_device); + else if (di == NULL) + printf(" device=0x%04x", p->pc_device); + } + printf("\n"); + + if (TAILQ_EMPTY(&e->children)) + return; + + asprintf(&indent_buf, "%s%c ", indent, last ? ' ' : '|'); + TAILQ_FOREACH(child, &e->children, link) { + print_tree_entry(child, indent_buf, TAILQ_NEXT(child, link) == + NULL, verbose); + } + free(indent_buf); +} + +static void +show_tree(int verbose) +{ + struct pci_tree_list head; + struct pci_tree_entry *e, *n; + struct pci_conf *conf; + size_t count; + int fd; + bool last, new_bus; + + if (verbose) + load_vendors(); + + fd = open(_PATH_DEVPCI, O_RDONLY); + if (fd < 0) + err(1, "%s", _PATH_DEVPCI); + + if (!fetch_devs(fd, NULL, &conf, &count)) { + exitstatus = 1; + goto close_fd; + } + + if (count == 0) + goto close_fd; + + if (conf[0].pc_reported_len < offsetof(struct pci_conf, pc_subbus)) { + warnx("kernel too old"); + exitstatus = 1; + goto free_conf; + } + + /* First, sort devices by DBSF. */ + qsort(conf, count, sizeof(*conf), pci_conf_compar); + + if (!build_tree(&head, conf, count)) { + warnx("failed to build tree of PCI devices"); + exitstatus = 1; + goto free_conf; + } + + new_bus = true; + TAILQ_FOREACH(e, &head, link) { + if (new_bus) { + printf("--- pci%d:%d\n", e->p->pc_sel.pc_domain, + e->p->pc_sel.pc_bus); + new_bus = false; + } + + /* Is this the last entry for this bus? */ + n = TAILQ_NEXT(e, link); + if (n == NULL || + n->p->pc_sel.pc_domain != e->p->pc_sel.pc_domain || + n->p->pc_sel.pc_bus != e->p->pc_sel.pc_bus) { + last = true; + new_bus = true; + } else + last = false; + + print_tree_entry(e, " ", last, verbose); + } + + free_tree(&head); +free_conf: + free(conf); +close_fd: + close(fd); +} + static void print_bus_range(struct pci_conf *p) { From nobody Tue Mar 10 17:21:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVgdd55rxz6TkQ4; Tue, 10 Mar 2026 17:21:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVgdd0Mgqz3qV8; Tue, 10 Mar 2026 17:21:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773163269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qnsvs0F+9otKopVVuf88Ltv01QAEqsRuDyGoeSiWFko=; b=JAtA3xFWl1Yf1ftpG0pc6vEyIZ7/tU8hHdTnHdF0EFo2os0nm+DoMV1xwByFrKaXusUrym SvgaF0B0luup2X/EWspvNyHSex2riRi7BrIUpTTIxDEx845NxaAaw6Ig7nDGHYgKBGIcC7 83A/L5Y6400iA5kPIT66ENQcJ9Zv39knNfmWPQlZsXP/vBxa7kLpa3Lljo04AsGFwQ5By6 FDGZsvces17KmmlAh/gy+YLuEcMTBTQDoH0yDFbLYmWADh1XgTdX/h29kJSg8p+aYLJyyr 9DrVkTy1jr7Ba1C5+i9JDFXhDRMQSMQP8W/QrpedVtZppUYC1dFxTYJrK5LiqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773163269; a=rsa-sha256; cv=none; b=f2fd0gyjem7APKnxtNXatJxdVABnf4CNC5GoBV2DV90u1NXRkte4fIUtEiJJdQBtTCusnA /nDjKQ7oSldjq+SAKpEU8lwf1PJ28wYjstgTVCzYRzS8pGpzrhXPICMqYCidJ9/uZp8PN7 h81rHEuqA6Ous2qGDVCcf5ZNI4hQ1xOqs9s7JFxpZddO6PXXLQCQ9taJciCDcDRsLIaoIR O48dbT25AKROAqhk1W6pXX4YBENcA5+lALvgDj1Ujw8apVbcQoKWKRTAry0Ok+0jSl4hnm p+xgaE8uHVkRKR/TKipNXF58/Ii43d6HyKlQQUBjSZJc22f3h88BvzXYyojHSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773163269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qnsvs0F+9otKopVVuf88Ltv01QAEqsRuDyGoeSiWFko=; b=Dy6S6YQjIt9lJuIKvtdyz2a1QrBnIDqPJOLVfxLWELzG84vPsi5my3KAIOVIVKseC74vXT tsJhKbmhLROt/Euh3H9yJKu69mrTSyhH/doZPhfn5AR5qIrfGwn1vYkvu1AZy/KjrQ8ab/ l3kRLzwmKg7ZHkHgHFU/uiQOpzlo52p7uHOgSuLBlJGN1qhY/2H6NXbw4tfHnN7cdbtW4h gyDQZXG6qqqOXrML2uJrNTinGPi2ktNYyVojvfNxoJ9INqZh9KIHE0Sscbpe9uphzrp66w 0mQkAWYSLHLfu4o8+mpKciiY2uOiDKxiUXYNYW3FwtU3Ibu7Avz7KwQ0V7pZEQ== Received: from [IPV6:2601:5c0:4202:5670:41db:1f31:9abb:a71c] (unknown [IPv6:2601:5c0:4202:5670:41db:1f31:9abb:a71c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fVgdc63Xyz1CqK; Tue, 10 Mar 2026 17:21:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <98d8aa2f-a312-4b33-afca-5e83d90e4bf7@FreeBSD.org> Date: Tue, 10 Mar 2026 13:21:08 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 14b8a27883c1 - main - pciconf: Add a tree mode Content-Language: en-US From: John Baldwin To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> In-Reply-To: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/10/26 12:53, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=14b8a27883c15d3add3114f855eff7c6bda1b015 > > commit 14b8a27883c15d3add3114f855eff7c6bda1b015 > Author: John Baldwin > AuthorDate: 2026-03-10 16:51:00 +0000 > Commit: John Baldwin > CommitDate: 2026-03-10 16:51:00 +0000 > > pciconf: Add a tree mode > > This lists PCI devices in a hierarchy showing the parent/child > relationship of PCI devices and bridges. While this is inspired by > lspci -t output, the format is closer to ps -d and also prefers using > new-bus device names when possible. If a device does not have a > driver, the PCI selector is output in place of the device name. > > When the -v flag is given, the vendor and device ID strings are output > after the device name. If a string for an ID isn't found, the hex ID > values are output instead. > > Reviewed by: imp > Sponsored by: Chelsio Communications > Differential Revision: https://reviews.freebsd.org/D55774 I did play with enabling some of other list options like -b and -B to output as indented under each node in the tree. If there is a desire for that, I could add it. I found it a bit distracting when I prototyped it. OTOH, it might be useful for -c at least. One of the things I think is helpful in this view is that you can easily see the PCI bridge that is the upstream port of a PCI-e link connecting to a leaf device. -- John Baldwin From nobody Tue Mar 10 17:41:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVh5N1p08z6Tlfx for ; Tue, 10 Mar 2026 17:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVh5N0xxRz3s42 for ; Tue, 10 Mar 2026 17:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773164504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ox43ZYeo02AJbrWXB00YQUiD1Q1stbtfOh76gSitL+Y=; b=EU6OhESu8HTrkwSO5vPe6S/e4a5liVe3BrZqn8fYvbu/awgS/sDvP2uFXmLvL/RIWgmDXo mpf2Sp7IjNmxO5Q9fv3G8XasKmTrrlGj38CkIDfCUXBCcKEGObBsjpCROkZ1pUTQ+fEzjU kC00vyVjTzYdlHrYGDzZCy8w7Q3X374Ab/a26OkbF3n90AxtN0J6r2f6NgRL52bzRc52A5 yTOxZbrJzLaA6CQwwSDw5qHIy1liIurL1CrzY0n1aBj7MkF3S6ZY19rz/JgTJlbSSOtHVq 7wWbfhyPFauo8GVwA0Cb+2jtIyGF3JyrdfKvv//UFK2Ep+18crsUmTRVnubSJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773164504; a=rsa-sha256; cv=none; b=G7DJ8h5D/SkYNIlLW6sZPUwC+YOgpVdULgsBNKKdGPdoz8MwlM0HbrPKZ0tAh2M/1KmSzv FFOsSHDRBwYVgno+lJVAdlb0IwoVZ+eGtKB2yOYPMyhMuVMhHovBxUH9nPCirMcBuBiw57 qpTRvbsgHR4ZfP2PpWNdto1c5QikL2pcnzHbd46Qfq7lxNrKfnGvEhj71N294ughj/ryPU IPhwchQM4nJ2RDBvPy3dzrRVrSJy2rbqekXUnuK+kSalupf5Q/dKugr5HDHhNl+obK6ukN NnsmOmb3yr//I5JLb0mde4DY3QarTIsH2Ehz5VZriLMB8PkkLuQWQSGCNMKIMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773164504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ox43ZYeo02AJbrWXB00YQUiD1Q1stbtfOh76gSitL+Y=; b=Qdf4tB0ouSxqQJQdfi5Sw4G+DLiIvRE0qemAHlH9PavDG3apdrHEXKnRQun7f4vtNHZ56d 6jD4KGgvaxJJV347WQQUeBP9UJWHB/7i3Uvzw8B55X57PtH8jhwqPNcKsh4ajexTWZY35J f8Z6RUtE0Bula70nNgkEksYGTdlPQoTf2PtAkTtsk8mCwsQDV15cZkawrtYCIuTkg1/onc EFnG3Y0Nk+tvNBp0kjhttQxbpppYfLZLytFPBoqsuhoahaqPBq7NxvVO+QzAsv+uQaEPAV azzzUimeieHj6po5al3qi9q8QIyl6p7zDzGoCkM9Tf+p46UCHQOtCVmVFIoaNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVh5N0WCxz5sL for ; Tue, 10 Mar 2026 17:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19c24 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 17:41:44 +0000 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=B8rg?=rav Subject: git: ba7439f0a960 - main - yes: Add missing header List-Id: Commit messages for the main 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: ba7439f0a9604b15bfef8084816f34d55eb6bdf2 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 17:41:44 +0000 Message-Id: <69b057d8.19c24.61499773@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ba7439f0a9604b15bfef8084816f34d55eb6bdf2 commit ba7439f0a9604b15bfef8084816f34d55eb6bdf2 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-10 17:40:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-10 17:41:27 +0000 yes: Add missing header This is a no-op on FreeBSD due to namespace pollution. MFC after: 1 week Sponsored by: Klara, Inc. Fixes: cf74b63d61b4 ("yes: Completely overengineer") --- usr.bin/yes/yes.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/yes/yes.c b/usr.bin/yes/yes.c index 53224603cf95..86022c82f453 100644 --- a/usr.bin/yes/yes.c +++ b/usr.bin/yes/yes.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include From nobody Tue Mar 10 19:09:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVk2C5Zcdz6TsyL for ; Tue, 10 Mar 2026 19:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVk2C4gzYz44xt for ; Tue, 10 Mar 2026 19:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8N6GlJ17vxTuyVK/YhdycgfvqVBwNHdwlx+ozpUPkYY=; b=WkR5vDv+vRsHmKlJrAoUn0Qjd2mPTCt5kIF2zKWYhNAttDNdd5JbCV0DnvjiqJlCqTy2R1 fVcbK91YJUp7lin/7NWhGmoeQHKCStWI1/Tb3fXg/UF1oTcLQuYpBnnfhsPXrX9GMcA+xC LFRQ0J0yqHIgtTkeRuICT6pU//sKulh3o/06B/h1nIg0e7yHLaZxblk0gSclQVZJCLQhDO LVv1N70V75UQGQwZOIWEfQ9z1toatF/oIh44l5yUMc9zO4nhwSCCn0ZTtVV+V+bDF052Zc G7w42g7r4gklMhpaj8onLc8+En9wWD5wstqomjDa/UIac94g7reyWrH7SpYEQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773169747; a=rsa-sha256; cv=none; b=S/QHWlwAKE1zEhV4HI6WEb92CWrvnjx4zYvCjlH1a5sxTuLDxQF/vXL01GBm9t5TtEsPFv cxVxnin+Xkw0JLRgigx12gIzAiUNs4iFMPcCIRzPy6hA5W5kVY2RHW6ETS/w5pXkRt7Nhx xvsNRnh6wV7sjKNaJ9tNErSMTrMoDvT158ypkCUF9hMzSIoJdP+ImOXjQ5PcRdUZ5TfS9N s8QBx9pJzlQv88h7/6GJmlY1fmjhXVnzt+a58w4nN+ZMsU0cOC9cFf9NwbOeHLnDJJz73N xIYHwqoZegRVAyFAQVAPWHfHEsGHYhidrAc59Il3BnarlDV7xgv4q/TUbD/XmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8N6GlJ17vxTuyVK/YhdycgfvqVBwNHdwlx+ozpUPkYY=; b=fCfe4bweBHbPVlEUtAa01IkxES/FIaemO5o7xu2AJndW5M852cL94+mfhTQP9tR9v9CoSS 8RtvBsTNypITuk66CSLdJCnWGRmYnizm2K+daUNW8+tP85zrJ6YH2C2LDZI7EZv9xi524j TsjuouqaoN+ahE1uXKEPr1kt9Ouy2hMA8Jz/uB0CSdhy2Ge2VmjVEa98+DOHfYm1RJsb4m kG0ADPACjplAbBzQeY/cxRdoxeWa+RRv3rUR72WXGE0LsU56hQLp+UNP0xe27BJRfwpdOz z+SShzv/MJRmXM642N5IvQNbUq54dFXxiaZiNZR4oKo/i2MtTF7iuu5M/kmbOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVk2C43ylz8jl for ; Tue, 10 Mar 2026 19:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 236b3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:09:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: d99e725c26a7 - main - virtio: Restore mb() calls List-Id: Commit messages for the main 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: d99e725c26a7745aa349eab01ae56ca630b6d0f5 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:09:07 +0000 Message-Id: <69b06c53.236b3.73c1f491@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d99e725c26a7745aa349eab01ae56ca630b6d0f5 commit d99e725c26a7745aa349eab01ae56ca630b6d0f5 Author: Andrew Turner AuthorDate: 2026-03-10 19:08:38 +0000 Commit: Andrew Turner CommitDate: 2026-03-10 19:08:38 +0000 virtio: Restore mb() calls Until an issue seen on amd64 can be investigated restore two mb() calls to virtio. Reviewed by: andrew Fixes: c499ad6f997c ("virtio: Use bus_dma for ring and indirect buffer allocations") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55766 --- sys/dev/virtio/virtqueue.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index dbd55e02e091..b7fdb4703ccb 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -565,6 +565,9 @@ virtqueue_notify(struct virtqueue *vq) /* Ensure updated avail->idx is visible to host. */ bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif if (vq_ring_must_notify_host(vq)) vq_ring_notify_host(vq); @@ -960,6 +963,9 @@ vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif /* * Enough items may have already been consumed to meet our threshold From nobody Tue Mar 10 19:10:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVk4C1rR1z6TsYS for ; Tue, 10 Mar 2026 19:10: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVk4C12gMz45RW for ; Tue, 10 Mar 2026 19:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M9NhHnE1VZyhGAp/uXFwbkhPhMW2k0XhnGDlDjEJH/0=; b=RfQnuCEKePVR7Lb79UhKYJcUH6NrBDEQoGzsEbTMdxpbJ9OWY3m7L0PYmrzk0fGHbVtKRi idxf7InCQoj2vQ+ZDqwrZlqf3/VIeNo+KS1r+Xs7sB8FSs/34gAmsJ0pRJvpFFLVJKNU59 M7kYHsRoNrUoCz7MuV3n1IQ8O81Xbdh5sIyX4Iidf+R0pgP0WRUGQN3UgJTSD6UeYF8McY G1mYfG/NRDZPKUUz10gixXrDwG6gAivnifY0VRUQC501ZbcALFCvYONq+JHRVhDrpVBYNB RzhYNaqAm+XlL9HWn1u7DTft9TmDaGsOMtcI+jZONoR9B6679Hpt8DBTeelWSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773169851; a=rsa-sha256; cv=none; b=yRqS8FfRv7H/TTWtGtSQ+5oij39ZmHnxEPnXu7QY2UwGm9/XxNdg0mvy7bgfZJmypg5XIt afafr+R2QifzNkA8vfbXN6tBH3KpOIisKZqRLN07BqNZFew/3XZTrCKeZy+TN/Z62FKlZn 6F5Y1iVsJ49DoN0w92Pbgp91PamCdaID+9icoaJDtT1z2aDSYxQ+3ApD2Lo8Wtiq0w/Zns yUHpdlclX1UJhNfoKc5fOjV9uJicrynmffw/HCfB/lg5OMlc7kfeZG9Pq133KISZsdfZlx u1HFQU3AMMhBo/lJc7gG6nXR7ydOl1vqrgnFMUoTWoj2ilo6N0lNW7a5sALSvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M9NhHnE1VZyhGAp/uXFwbkhPhMW2k0XhnGDlDjEJH/0=; b=piMxjE61vt0WfNDWTdXHX7U5oSEiDpJuJSPEUYkB/FMlhToNhLhHCs4Ywk4713yFdfCR3G EAa79mbf7LIGJUvyJ8sTcpRp39IqlumXMYO0lgQRs7q8vKcmWxf5CAU+4FllbN5yRbRSp7 +C8id0gr9E4R5DfWZ6HtPL44qAVNtGMj5onZaslmalheR4nvJwf4kDoAbQW5Su+gKvkFRl 5HE/WZqKvgFjAczU6A52eNQIsWhot63Wi0/dtDIKgwlJC9ReXrTwIzqqGKzvlZixHB+Mkq koveJo/g4pQ4dJy8LiawMNkeP6w8OWGtaRvkPn77D4mm4cfwR0A2qazN6XMacQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVk4C0LKfz9Hd for ; Tue, 10 Mar 2026 19:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24fe2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:10:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 522012c8bd07 - main - Revert "virtio: Restore mb() calls" List-Id: Commit messages for the main 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: 522012c8bd079879b82aaa403e4da3c1ab9fc8a9 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:10:51 +0000 Message-Id: <69b06cbb.24fe2.5c550203@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=522012c8bd079879b82aaa403e4da3c1ab9fc8a9 commit 522012c8bd079879b82aaa403e4da3c1ab9fc8a9 Author: Andrew Turner AuthorDate: 2026-03-10 19:09:41 +0000 Commit: Andrew Turner CommitDate: 2026-03-10 19:09:41 +0000 Revert "virtio: Restore mb() calls" This reverts commit d99e725c26a7745aa349eab01ae56ca630b6d0f5. --- sys/dev/virtio/virtqueue.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index b7fdb4703ccb..dbd55e02e091 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -565,9 +565,6 @@ virtqueue_notify(struct virtqueue *vq) /* Ensure updated avail->idx is visible to host. */ bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); -#if defined(__i386__) || defined(__amd64__) - mb(); -#endif if (vq_ring_must_notify_host(vq)) vq_ring_notify_host(vq); @@ -963,9 +960,6 @@ vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); -#if defined(__i386__) || defined(__amd64__) - mb(); -#endif /* * Enough items may have already been consumed to meet our threshold From nobody Tue Mar 10 19:10:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVk4D3ZQMz6TtC7 for ; Tue, 10 Mar 2026 19:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVk4D1KHRz45JW for ; Tue, 10 Mar 2026 19:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169852; 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; bh=DGvGj0PQsARdbj1G0pzaWP+hBafSY+MdwT3hGWgMXf4=; b=o4R7dTFvdg+QG+G26lin6lBds4BDQ2OzrmSufgVJYIb+GZ1+FTL69a7d92inOFZLd6bvzH 3IjmnDUjiuqO2NCBa0+yMmOKqHYbdK859szQHxLCtmfTS0z8JWBAfckiJJjtoKGb3yNA2U /ov3EBm2yYErL8SGEpXVCPJZF0uvClsDZ9gk6SaX1snI8/ffTUS+YjEmu+41wSZ7ujlt2o 7A72/YqhmDmxouc8sc1ll6FFKBDzT/ZFCUAc9f4PPTnqMtgtLGA1K1F2f/OxmX719O57zz ZpVTqHi4gBNhNRJmWXkv36ReVWdm4uJjiBTFUTe+MKCQMdGLMttQUv6iVOvgCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773169852; a=rsa-sha256; cv=none; b=UuNstdc7pADFPRcTlfQ3h7uww4xpWj+f/bTSZNYI1PpdqiyL0luEH4Alj4kY6JQbmgqQtQ l3TZVQz6TKxglZXkaJsvJHc/CCeLip1yUtnlNLYy0K4zEOEgo4Y+rdn0/ydA0RE5NoWSfs pq04A5JeIJR8iu0mD9norC6nb4VeRe2fiqS2bCmY3kqBe217MWoUo1rsc9tZ9GqsR2PrIQ f6UyHrncl6+uDIF6x6zPOBSnmqJ3yNZq1EyRI9lBVV0L526ZHRAHtd+fCb8MTUY6Lokpr1 ZMK93Qz+8rZ9fRFB8AjDuMLsWGOLWAchtQfyZ8cSlFgcXyDEIj5BLveNhAqNRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773169852; 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; bh=DGvGj0PQsARdbj1G0pzaWP+hBafSY+MdwT3hGWgMXf4=; b=BhDAibPzSG5GHpopYGABXqYC15jbIrTlY4/TAp7n31NsGR5JjPbNPH5r9k/asOg10Ac1ny XgCZYuMunQw1pPMhr6oxdW+3ACxecm+H7Enm3JYwNJ6Csmkf69Sp0jZ4XujFDiyH1VJrL9 qzCxioi2f9sht5wRKZE4+Cv899Nw4RPDI4joYC72zkdSfb2lm/0sjNdmkPT2C8zlxSnYdl XFdXG3sjzJvLLlCgpbQC7tI2YA5voUlLSG5I9RiEWWWIPCmHVe8gF0q9dvkQGjicDsRBEi p3sSbT4UH+VqQGEcknEMRWTzIw/MPocJiqtwBwY/5pQGJPQ2OqMhQf1O73eJ9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVk4D0jyHz8vY for ; Tue, 10 Mar 2026 19:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 244f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:10:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 1a92fc9c1210 - main - virtio: Restore mb() calls List-Id: Commit messages for the main 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: 1a92fc9c1210f9c99a19fda5a86682a78d39872f Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:10:52 +0000 Message-Id: <69b06cbc.244f4.657b42c@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1a92fc9c1210f9c99a19fda5a86682a78d39872f commit 1a92fc9c1210f9c99a19fda5a86682a78d39872f Author: Sarah Walker AuthorDate: 2026-03-10 19:08:38 +0000 Commit: Andrew Turner CommitDate: 2026-03-10 19:10:21 +0000 virtio: Restore mb() calls Until an issue seen on amd64 can be investigated restore two mb() calls to virtio. Reviewed by: andrew Fixes: c499ad6f997c ("virtio: Use bus_dma for ring and indirect buffer allocations") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55766 --- sys/dev/virtio/virtqueue.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index dbd55e02e091..b7fdb4703ccb 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -565,6 +565,9 @@ virtqueue_notify(struct virtqueue *vq) /* Ensure updated avail->idx is visible to host. */ bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif if (vq_ring_must_notify_host(vq)) vq_ring_notify_host(vq); @@ -960,6 +963,9 @@ vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif /* * Enough items may have already been consumed to meet our threshold From nobody Tue Mar 10 19:50:49 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyL0nkdz6TxX7 for ; Tue, 10 Mar 2026 19:50: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVkyL03j6z3CLd for ; Tue, 10 Mar 2026 19:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172250; 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; bh=x8e2oe+gQQKwACs15tZtidE7itqmarUGL+cKoZVjc1M=; b=ChrFFDRZj1EsExzERWTblWIU0sU7zCfHciWbKvwpZvbA4euPaIoZFa+uK9S4xGCGoOWnne pckJ4ysClwPIOzgQE1v050p4vKzExTNHLhQSIFj9BrC137uW824eCmEWYQ/4lKAjX3fKTi LiS2VTN3YbnOWVxoValoQQIHyCIpy00s5vToQ2k9dPIBswZOvYnBIcYHfogTjCaR0qQe2d 5lfCedUtO5AURx4WXclI1DGJEFgLFoJPCW0pJuhtpd0sjlN9u+oqb0eXXljWG4ElS0w3Xv hkUS/ZMTYmbF3Jo4qI+fpenQ1wGpZdRfEtNxIeMTj6D6wsrS+2X/2GUn1sUP4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773172250; a=rsa-sha256; cv=none; b=hCkt2KKAk08oX+T4Uuvk5K5DhyeBvfzQiOf8zbvWI5qqha+f+Uuz+f14JM98zVprk9pAy+ ex687q0Zdb5nUmOzswVRInDfeyhSaSYcnFhcTcD5H6DWGGoixQNosUfHnOZueMh4KnSFJv oIyNjJUWUmXvKbPRFcxxsX5hJXuwgdiq/qYs8k18+6s4+/doLRvje12QiDSxuKyFIy7UEN ZNSbpNgp+kWyPb8T9VJ0sEDhkO2TF+/AJYGgrsf+qtqPjbUtd/vQGcw30Iv90RIYcJ8u59 mlO4iQpQ7x+FDhnbC9IlNZcNZEWsnAXZgbZHV1Cn5NvY9FQiuyBci1qzY5mA2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172250; 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; bh=x8e2oe+gQQKwACs15tZtidE7itqmarUGL+cKoZVjc1M=; b=JKdstGAk08gMJ7PpAHxxyLkDGWLAjIXFyyZxQAW8qomAkCEFsUpnzBXfyVoK3Yn+PVzAJO 8HoLHWezw1MKPX2XQOnOIoxQnslk7ta5w7F9eeO62VyuhGzdNjG6Fjcd24I/FACo2nghDT zosbNAydUdyLwXTbGClpnSkkDN5lJzDbnPsW3Q+Hlj2E7RXF+H+vBLJo5KyWzU1ftIqsTS NedadW4/w0Ylf6GqP40cdkY9LeQNcp6EWsQFoSWann9ch9YDbEx6vlREHIBvfff29y5RTg SR5aLuKLWThlTQ2LPw8/JGbEvdpW+/zLcElnPEs/pWHRK+XiPA00It2QPQP5Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyK6jZWzB0J for ; Tue, 10 Mar 2026 19:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27d73 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:50:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: David Arinzon From: Arthur Kiyanovski Subject: git: 97e84c587d6f - main - ena: Verify that an ENA ring is in netmap only in native mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97e84c587d6f86aa883720296449b380adcf6915 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:50:49 +0000 Message-Id: <69b07619.27d73.841b5b5@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=97e84c587d6f86aa883720296449b380adcf6915 commit 97e84c587d6f86aa883720296449b380adcf6915 Author: David Arinzon AuthorDate: 2026-02-05 14:21:13 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-03-10 19:48:39 +0000 ena: Verify that an ENA ring is in netmap only in native mode netmap operates in two modes: 1) Emulated - netmap handling is done by the network stack, the NIC driver operates transparently to netmap. 2) Native - netmap management is done by the NIC driver. When checking whether a specific ENA ring is running in netmap mode, only the following checks were done: 1. IFCAP_NETMAP - Check whether netmap capability is enabled on the device. 2. NKR_NETMAP_ON - Check whether netmap is actively using this ring. The above checks implied that the netmap mode is native and the ENA driver needs to handle the netmap logic. The code was missing an explicit check on whether native mode is actually on (NAF_NATIVE). This led to a case where though emulated mode was used and a netmap application was turned on, the ENA driver still managed netmap logic partially and caused missing buffers and lack of refill as part of the datapath. Note: Enabling netmap emulated mode is insufficient and there's a need to load a netmap program in order to trigger this use-case. Add an explicit check of whether NAF_NATIVE mode is set. The issue was reported in [1]. [1]: https://github.com/amzn/amzn-drivers/issues/361 Fixes: 358bcc4c6cde ("Add support for ENA NETMAP partial initialization") MFC after: 2 weeks Sponsored by: Amazon, Inc. Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D55697 --- sys/dev/ena/ena_netmap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 8a220373ec3f..0e8c95fb289a 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -223,9 +223,11 @@ ena_ring_in_netmap(struct ena_adapter *adapter, int qid, enum txrx x) if (if_getcapenable(adapter->ifp) & IFCAP_NETMAP) { na = NA(adapter->ifp); - kring = (x == NR_RX) ? na->rx_rings[qid] : na->tx_rings[qid]; - if (kring->nr_mode == NKR_NETMAP_ON) - return true; + if (na->na_flags & NAF_NATIVE) { + kring = (x == NR_RX) ? na->rx_rings[qid] : na->tx_rings[qid]; + if (kring->nr_mode == NKR_NETMAP_ON) + return true; + } } return false; } From nobody Tue Mar 10 19:50:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyM2GZZz6TxS9 for ; Tue, 10 Mar 2026 19:50: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVkyM0syBz3CR6 for ; Tue, 10 Mar 2026 19:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172251; 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; bh=ny9g5U7WyRUGOpMLgxo3c4NuvCWKcqOI562ZGtISHSE=; b=JzxYUzHZMwrapHKGXTfsOrYNZhfz4Qs0j+BVrW4oCrMlbwz8kmPzYpMXcTXvQV862Xfq+2 QcPwGvqSbygEJkhikpnP+9jPx11TAymHuMBXlOusz0SL3azPFuFnjZ2ajIabcr32aEi19o 7CNK+icaQHUhVrOMCkGNSyrP7C6oQ1hTxya1porJsS6lAhmiyOxn8wr6TTDgeHm7jmXtTy mwZyOcZlNvWKyxcooiTEnlfGfrCYEtnw/I/MG94lt7uXkzxW6xfwGM3FcQpas4ROhbA2VH Ac4cDp8BJn9bj/CvQH3IOWdN0uIE9xJCmexGsyOjj/plXbrxg0Q/0UsnylgJrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773172251; a=rsa-sha256; cv=none; b=i+NKpWyEcAD4UlBJ1nO5CJR5RbFf/a0sOgCsStV+5EHvZwXyjOQwmqhZ08BkOIZwtNOH7n 7w5U4tF/ZwgkDIhpqQaFwKzWKxbruK9A+VKHBV7bfBoxeV5U807AAwIcRR3V+bDEyPW8we asdMKC1yUZ/OXqfXCDQOI3iupbup04myOk6TDlfSeCoqaE4Krj7PXYYUAm46iO2GuRr6TJ 7FuU9/Dr61d3+VPu8y4gyRSuRHQCFAdbYLy9oZbEPkK2Z/+a6M/QjbK+uWkx2w0ytJZETl KF1fKOZq70um4lEENKWZBtyS0ac9ViyHvcGQu8gd+/oD9r8vF9kDL2PH/DN0jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172251; 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; bh=ny9g5U7WyRUGOpMLgxo3c4NuvCWKcqOI562ZGtISHSE=; b=uG2iBaJS5evdrtFC4p44n/0bSBVhn8tktcEBfnjYLjhte2hdhQEiglG9s/o62UMMR1Pna7 7hroICgxII2z53h3vePL7RTbCXCwq9C/Wa6bBMPwDf8lQEfFwAWSTTzFR00MGXcgNSKqER fPRET6PAEhcFCHIvMy87Oy8zqBGUCYTapXr5EUC0DtQCtA8hVwDLzQ+roHAufaM5L7RulL FuqdN/e+33N0JupifmXl96a+O8nAnySMoWznRFZyg1VbcA/mf9tYuEetNBZp1u8bDikVr/ q/WAMqmbENPvnYzP2N6loqV52182ywone+UeABBobl0MAJR3oSaQkpfr8UbBqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyM0NQgzB0L for ; Tue, 10 Mar 2026 19:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30ecc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:50:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: 96c5eaf0ac6b - main - ena: Update driver version to v2.8.2 List-Id: Commit messages for the main 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: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96c5eaf0ac6b98d0832e1037d672064de43a7e00 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:50:51 +0000 Message-Id: <69b0761b.30ecc.1ec86c3f@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=96c5eaf0ac6b98d0832e1037d672064de43a7e00 commit 96c5eaf0ac6b98d0832e1037d672064de43a7e00 Author: Arthur Kiyanovski AuthorDate: 2026-02-13 05:32:22 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-03-10 19:48:56 +0000 ena: Update driver version to v2.8.2 Bug Fixes: * Verify that an ENA ring is in netmap only in native mode Minor Changes: * Move parenthesis to correct place in switch * Add comment * Reorder define MFC after: 2 weeks Sponsored by: Amazon, Inc. Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D55698 --- sys/dev/ena/ena.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 3b01605b4ba7..f67c7002327d 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -39,7 +39,7 @@ #define ENA_DRV_MODULE_VER_MAJOR 2 #define ENA_DRV_MODULE_VER_MINOR 8 -#define ENA_DRV_MODULE_VER_SUBMINOR 1 +#define ENA_DRV_MODULE_VER_SUBMINOR 2 #define ENA_DRV_MODULE_NAME "ena" From nobody Tue Mar 10 19:50:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyR0HZBz6TxSJ for ; Tue, 10 Mar 2026 19:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVkyQ1js8z3Cbl for ; Tue, 10 Mar 2026 19:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172254; 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; bh=no63a0U9KDsSdXQ8ehEBTFx12+NpXpzC/1jmDqWp6bs=; b=tZ5bARU45x+nHwukc+I+PdbKkHF7Oq+tSNFqT4cznQAUKiubvWkMepsOlntFTR6Uyh5FC4 mQv000/uoegAtQWHkxDFYHF63O2r+oxQAr2614BzkkHaerdWogTcol97M34/kZRcuj6b6C QdGRfoyzC9QxUj9Zl4PsS9uvWgGykljfQCIcY+UxhFQ24yd0Frbw7/2L4A8QL491RAorLv T+byfs5B4JKTjvn8uGCE7KhI2CnhOmZ62ii3+8MnNrRSZ6vUYz6lTXsn8+3hD7IfRDXahS nXbgQuLDzVuWSAPQr5vXRl9buDZ0dhAfsnRtPHyxwbFLwRGYmkW3/3ZjhvHz3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773172254; a=rsa-sha256; cv=none; b=XhqD30tzUjxTY242yzTkZUE4TT4ena5lmUTiI5/5tIclwScsYC14xevUpUIEobNKKdgmfS H5BwlAUIMghwz1C7S1ToWvEs60h76BxRonZSa80XOO7MFX4Vk7+/2r4x1n44DFdzU7rLgI B10vBIVLnY4JcxHowDETzX0afOqkPJhH6orKG5hCYf+sBNfBvtU90RzHAeLAE6d8PAMDin HOoGxQczafV8jEVc/3SBmjBj3LLLoNL7YegplDenxIFpMheikupL5rev9djtl9b0RdpZ0H B6CK40Rxdoz6ZgfIHHHgPpSOcPguTILkZBAjY261tky6CY3yapxH3LA9AjXUZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773172254; 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; bh=no63a0U9KDsSdXQ8ehEBTFx12+NpXpzC/1jmDqWp6bs=; b=QuTIXg8iMw4p3Cs6/8ZO7BePzQFs+97XaNrQwv4t2E3z4B2NcatnbwJd1Adsw7GsXUMXRW LNoW1GfivpTHYDCVivUGIsjWU90zwzdE1K5LKxvOpZgQj4DXQYXSqrXlddWwd8MADGlc6B DUK22jZgNsa1cIb3V4xplzI8KSLiblh1jLwT4f+Pt5i8grNiFDOPxK+9O6Nf4i+86V+gXe 27h9g+fgw2zu9TBoFuOZ7q7T9nqafVCb+1Ejcm/Y0Duv3vrd24dUe38BJZjpDgmyGviYIY IRHPlzbvSuLU+DUa0XjQw393L5VPsaC9v42nMDM9FyL73gMXIit/ZLSsrjL6Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVkyQ0xWBz955 for ; Tue, 10 Mar 2026 19:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27dc1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 19:50:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: 2667a8454cff - main - ena: Minor 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: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2667a8454cff5896c7b467c78cd4ace5ad40f5eb Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 19:50:48 +0000 Message-Id: <69b07618.27dc1.15f185b9@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=2667a8454cff5896c7b467c78cd4ace5ad40f5eb commit 2667a8454cff5896c7b467c78cd4ace5ad40f5eb Author: Arthur Kiyanovski AuthorDate: 2026-02-13 22:27:59 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-03-10 19:48:19 +0000 ena: Minor changes 1. Move parenthesis to correct place in switch and fix include order 2. Add comment at the end of an ifdef for clarity 3. Change include order. MFC after: 2 weeks Sponsored by: Amazon, Inc. Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D55696 --- sys/dev/ena/ena.c | 5 ++--- sys/dev/ena/ena_rss.h | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index af158b5aea1d..eddb7dbd42e8 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -1861,7 +1861,7 @@ ena_setup_io_intr(struct ena_adapter *adapter) adapter->que[i].domain = idx; #else adapter->que[i].domain = -1; -#endif +#endif /* RSS */ } return (0); @@ -2766,8 +2766,7 @@ ena_set_llq_configurations(struct ena_llq_configurations *llq_config, llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; - switch (ena_force_large_llq_header) - { + switch (ena_force_large_llq_header) { case ENA_LLQ_HEADER_SIZE_POLICY_REGULAR: use_large_llq = false; break; diff --git a/sys/dev/ena/ena_rss.h b/sys/dev/ena/ena_rss.h index b7c5181397af..d1236ef26c33 100644 --- a/sys/dev/ena/ena_rss.h +++ b/sys/dev/ena/ena_rss.h @@ -35,11 +35,10 @@ #include "opt_rss.h" #include +#include "ena.h" #include -#include "ena.h" - #define ENA_RX_RSS_MSG_RECORD_SZ 8 struct ena_indir { From nobody Tue Mar 10 20:46:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVmBk3t1Bz6V2d6; Tue, 10 Mar 2026 20:46:38 +0000 (UTC) (envelope-from imb@protected-networks.net) Received: from mail.protected-networks.net (mail.protected-networks.net [IPv6:2001:470:8d59:1::8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.protected-networks.net", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVmBj3DjPz3Jwg; Tue, 10 Mar 2026 20:46:37 +0000 (UTC) (envelope-from imb@protected-networks.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=protected-networks.net header.s=201508 header.b=TWwSFCmE; dmarc=pass (policy=reject) header.from=protected-networks.net; spf=pass (mx1.freebsd.org: domain of imb@protected-networks.net designates 2001:470:8d59:1::8 as permitted sender) smtp.mailfrom=imb@protected-networks.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= protected-networks.net; h=content-transfer-encoding:content-type :content-type:in-reply-to:from:from:content-language:references :subject:subject:user-agent:mime-version:date:date:message-id; s=201508; t=1773175590; bh=+My2ry4SPkF5DNA+07hu5MVwo3QIx29WD2JZ 6bQ/iLA=; b=TWwSFCmE+KQM/RtsD241Fc+Z04z7S5ktSHMOf2PoWGNWqBG93Emq DtLOXNUsRehjOKcfxl9HNEkkSNDHZWrq0zU9MWokiyvC2oN2atcSP+/c6h0C1XmT z+NYovrnlJ/oH91Nic+GlCJQVleVsElZERWwY4oqkzkj2PEA8VUqRHo= Received: from [192.168.1.9] (d5540.auburn.protected-networks.net [192.168.1.9]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: imb@mail.protected-networks.net) by mail.protected-networks.net (Postfix) with ESMTPSA id 4DE8B6AF65; Tue, 10 Mar 2026 16:46:30 -0400 (EDT) Message-ID: <2d25962d-d2fd-41e5-8aec-2ffad3622024@protected-networks.net> Date: Tue, 10 Mar 2026 16:46:30 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: c499ad6f997c - main - virtio: Use bus_dma for ring and indirect buffer allocations [Really: kernel: vtnet0: watchdog timeout on queue xx] To: Mark Millard , "Herbert J. Skuhra" , Andrew Turner Cc: dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, freebsd-current , Philip Paeps References: <69a71c75.40215.43f39fc6@gitrepo.freebsd.org> <87ecludxuh.wl-herbert@gojira.at> <15dd35da-4c7c-482b-a212-8eaf761b23ca@yahoo.com> Content-Language: en-NZ From: Michael Butler In-Reply-To: <15dd35da-4c7c-482b-a212-8eaf761b23ca@yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[protected-networks.net,reject]; R_DKIM_ALLOW(-0.20)[protected-networks.net:s=201508]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_SEVEN(0.00)[7]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_TO(0.00)[yahoo.com,gojira.at,FreeBSD.org]; RCVD_TLS_ALL(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org,freebsd-current@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[protected-networks.net:+] X-Rspamd-Queue-Id: 4fVmBj3DjPz3Jwg X-Spamd-Bar: --- Commit 1a92fc9 appears to work around the issue on amd64. Thanks! On 3/8/26 22:40, Mark Millard wrote: > On 3/8/26 10:39, Herbert J. Skuhra wrote: >> On Tue, 03 Mar 2026 18:37:57 +0100, Andrew Turner wrote: >>> >>> The branch main has been updated by andrew: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 >>> >>> commit c499ad6f997c8c5f61c88925e6d1e826d0c0f6c4 >>> Author: Sarah Walker >>> AuthorDate: 2026-03-03 16:08:11 +0000 >>> Commit: Andrew Turner >>> CommitDate: 2026-03-03 16:29:15 +0000 >>> >>> virtio: Use bus_dma for ring and indirect buffer allocations >>> >>> While the majority of virtio platforms will be fully coherent, some may >>> require cache maintenance or other specific device memory handling (eg for >>> secure partitioning). Using bus_dma allows for these usecases. >>> >>> The virtio buffers are marked as coherent; this should ensure that sync >>> calls are no-ops in the common cases. >>> >>> Reviewed by: andrew >>> Sponsored by: Arm Ltd >>> Differential Revision: https://reviews.freebsd.org/D54959 >>> --- >>> sys/dev/virtio/virtio_ring.h | 27 ++++-- >>> sys/dev/virtio/virtqueue.c | 216 +++++++++++++++++++++++++++++++++++++------ >>> 2 files changed, 209 insertions(+), 34 deletions(-) >> >> After this change I see a lot of "kernel: vtnet0: watchdog timeout on >> queue xx" errors on amd64 (arm64 seems to be OK). > > See below about other reports of the messages. > >> >> Reverting this commit resolves the issue. >> >> > > freebsd-current has the following notes, implicitly referencing official > builders doing official builds: > > QUOTE > On 3/8/26 17:10, Philip Paeps wrote: >> On 2026-03-08 07:10:01 (+0800), Michael Butler wrote: >>> Is anyone else seeing timeouts on virtual interfaces? e.g. >>> >>> Mar 7 15:00:27 george kernel: vtnet0: watchdog timeout on queue 0 >>> Mar 7 15:00:45 george kernel: vtnet0: watchdog timeout on queue 0 >> >> I started seeing these on today's build too. >> >> It seems to happen more or less randomly. I can't point at anything >> specific that might be triggering it. >> >> Philip >> >> > END QUOTE > From nobody Tue Mar 10 21:03:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVmZl4Jwlz6V3Wm for ; Tue, 10 Mar 2026 21:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVmZl1GhRz3NNM for ; Tue, 10 Mar 2026 21:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773176639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8vK88qi4PllhlKW0xhQgN9rmZVCyEG5ey6paVkdr1Dk=; b=KUm1kRnUuNANAS3RdpGjPOQjJ80nlFQ4YrCj9HbUH9NG4aAijFrRKo5mNeFJVfoAIyWcqs n+nVickf4sJIJyJFNfRg40A7NP7gxarr0dME3vaBJw2Gaq2VgfQA9KgyDE4SOSWmCboIsS 06YZAPuRpglL3H4oT4U9Jh9dCDCa0KS4NXMWA4ayekoGW4jOz2BUrpOMqTNOLy7oibZpx7 kLWAnKHRa7KZZ540fQeFnY2SAAhVRnrQSgE1HCh3dukIAJ/08yh4eRQYD9YsCOXl/yEiri lor9GQoUUhQsolX7eLF6rIBfWE1xrdkvQv5dxTjfVxZeu2HATpBSdKkBY3MjVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773176639; a=rsa-sha256; cv=none; b=TXYlDwrXUs1fy727nw3k3bzeHYq9ev0OOvRisZ6Aa9+AwJNdxb88pxro06j8ARz9/POxGh z/fVCcINqslc0UOd2GxatPuuvTWlokOi4fy2b1TEd+L/YJu1fDkXnLVXbmEUrFxTZh3Gc9 2FmmlIuG9vLuNb2v4pWUBjFJpxEaefDqXIdtIkJYtS7IxeKK6gcq2R+H1xy5NORxym0oGO juNGNET2XAJRp6JQ/HN/5ih6SSUSOf2UAGdwN0f5E22hIxDxFE+4s6pbL9fDdnIylMO+Nh mhDmHtAW/87MvH7vvH+lSr9q3DGaUTEdVvlh3UllGPvm0RAwkZaNDoARuEdkKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773176639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8vK88qi4PllhlKW0xhQgN9rmZVCyEG5ey6paVkdr1Dk=; b=aqakLYqLmuiCn49Gxi10b/zyTwJkAIDGpMOrRJiAFRhhoeRAWnvPkD5m7cdEuZh6rn148+ g4e+JdcbLDZ7E8PGEjaROLzaYF3FqaFW1rhy3X2W1bprO7ufxyrpfqpWm3xnglMl+d3WaE hyI1MRNwe20v4xxd8yfIPbjV/FKM3apPnPdSCrFEiKJZuoylI+fbnWG4J4YihUvcLbZvGy lDrZpZGSv7iksNfkTt24um1cdFB39EqRhz91HR+MyXl+f+wQZvZSCy61fuBJQtQ6tEPL5l ZVOtE2VEhHis1m33MgYOQi6xsd1f4BsZTHzlzP9bC+M5DZYWt2SywO/gLYGDpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVmZl0llxzD7D for ; Tue, 10 Mar 2026 21:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38c1e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 21:03:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: ded881f9056d - main - tests/kern/ssl_sendfile: fix 'random' and 'basic' flakyness List-Id: Commit messages for the main 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: ded881f9056d2ecb224490e56e95877af54164c4 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 21:03:59 +0000 Message-Id: <69b0873f.38c1e.49ef7c6e@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ded881f9056d2ecb224490e56e95877af54164c4 commit ded881f9056d2ecb224490e56e95877af54164c4 Author: Gleb Smirnoff AuthorDate: 2026-03-10 21:02:02 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-10 21:03:25 +0000 tests/kern/ssl_sendfile: fix 'random' and 'basic' flakyness The read of c.sbytes needs to be synchronized with mutex. The problem was fixed for 'truncate' and 'grow' with 8a9508563542, but these two suffer from the same problem. Provide require_sbytes(), a locked wrapper around ATF_REQUIRE() to reduce copy and paste. Submitted by: olivier Differential Revision: https://reviews.freebsd.org/D55781 --- tests/sys/kern/ssl_sendfile.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/sys/kern/ssl_sendfile.c b/tests/sys/kern/ssl_sendfile.c index 066674f5fb03..c16640572bb1 100644 --- a/tests/sys/kern/ssl_sendfile.c +++ b/tests/sys/kern/ssl_sendfile.c @@ -285,6 +285,14 @@ SSL_read_b(SSL *ssl, void *buf, int size) return (rv); } +static void +require_sbytes(struct ctx *c, ssize_t expect) +{ + ATF_REQUIRE(pthread_mutex_lock(&c->mtx) == 0); + ATF_REQUIRE(c->sbytes == expect); + ATF_REQUIRE(pthread_mutex_unlock(&c->mtx) == 0); +} + ATF_TC_WITHOUT_HEAD(basic); ATF_TC_BODY(basic, tc) { @@ -302,7 +310,7 @@ ATF_TC_BODY(basic, tc) nread += n; } ATF_REQUIRE(nread == FSIZE); - ATF_REQUIRE(c.sbytes == FSIZE); + require_sbytes(&c, FSIZE); common_cleanup(&c); } @@ -332,7 +340,7 @@ ATF_TC_BODY(random, tc) nread += n; } ATF_REQUIRE(nread == expect); - ATF_REQUIRE(c.sbytes == (ssize_t)expect); + require_sbytes(&c, (ssize_t)expect); } common_cleanup(&c); @@ -367,9 +375,7 @@ ATF_TC_BODY(truncate, tc) nread += n; } ATF_REQUIRE(nread == TRUNC); - ATF_REQUIRE(pthread_mutex_lock(&c.mtx) == 0); - ATF_REQUIRE(c.sbytes == TRUNC); - ATF_REQUIRE(pthread_mutex_unlock(&c.mtx) == 0); + require_sbytes(&c, TRUNC); common_cleanup(&c); } @@ -418,9 +424,7 @@ ATF_TC_BODY(grow, tc) nread += n; } ATF_REQUIRE(nread == GROW); - ATF_REQUIRE(pthread_mutex_lock(&c.mtx) == 0); - ATF_REQUIRE(c.sbytes == FSIZE + GROW); - ATF_REQUIRE(pthread_mutex_unlock(&c.mtx) == 0); + require_sbytes(&c, FSIZE + GROW); common_cleanup(&c); } From nobody Tue Mar 10 21:03:57 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVmZk1k8Zz6V3mG for ; Tue, 10 Mar 2026 21:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVmZk1Bnmz3NHM for ; Tue, 10 Mar 2026 21:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773176638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eJK1drnuOGvdPQz/GfQS6HD71P0KYgfiulwG5CVE/5Q=; b=JRN9qxCN8vdEDvGShhQGBn8HVjJFXAurEA31FxhbwyYKfpBpQq0QeTUCgfQf6SP6GVhVkv Jr54o2bimWM7bc0UNfTEHDBNwVxpipkJFz3mP114X+26yRBcdc7v8eIzh36AVWLA/8D94U VGdJXZascVfDwROG9eC2W++YSWJTexi9pAUN5R1uOeNDTrp8geFMhv1cuKJ8RNRydut8nD MDA3nE7cEu3CmNAy70uIRUMMP7sQbLb6nhJbxFxNPt4fJpyMWvfutLlSI9UKYXMUGiwjmO wpcqYesY3xMmnts+ClVn6gnCVb/ZoT9NKA+lUjoxcMWDpClZkDTxy+l08NB7wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773176638; a=rsa-sha256; cv=none; b=mUCiUT+7zmPTyNu8eFWGAWdsVVtRdiWcYWiRxjwVaEXyvQekb9myhWA5nwtIGOaRpkKNL/ eToC9nHYCgiE7JRUh5uFBojxxhPdy6I39bvNItqte6nYn9CNoeyYEFScTZfpH15nniYBVS hgJlvYY9gKOBO6hbcudWmfeZsfoBD86rJ+vETljOSu3YWuanMkhM1IOmf8CE/0byy/c21k xvl6yzdKUgi2+4u7PosRp1r0BwyHmmegQnFlGgnEnLp8ZeRl8q+nDPjCRU9zRYX0kZiQxo 6qsFMM/jHWyY3/R6/B9uB2oeReIAfYA2UJDEFNAMGKGzmXHsBSN0lacQI+mzIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773176638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eJK1drnuOGvdPQz/GfQS6HD71P0KYgfiulwG5CVE/5Q=; b=mR7u8yh5OsMUZzoVOEAKoOq8gwYRMt84YYyUofk9/xwAMabEd4qxYca9amDNEJFoWPo+px nbGN0ZdnrqFZrmYIpmOKfIYCQ3kFqJsv9WnI4DCk81y9Eg0iGiIPRyX+MkdxRPhngvdlJx 2tTLWj1qZPrLT9fSThheL1s6h/jwiNuwYyF8DiBG+PhR+fpzZXb5FzgVk42FoyX2GPZ83e HJMMGVjaSwu+O+3n5md05SScW8zsL8qcD7HEPvyPbeWAk/nVIDU95X4DjrBFFjLiD72jPw veBIR5BgmP5R/hRlEmFdr7d3ZNnfveGtptp2mkSVb4YoZe2W3jHYlNoeIbSf4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVmZk0NYyzD1W for ; Tue, 10 Mar 2026 21:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38322 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 21:03:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 35b976c6ce61 - main - tests/kern/ssl_sendfile: reduce copy & paste List-Id: Commit messages for the main 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: 35b976c6ce6145678ab378b21fdeab687a0a76d5 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 21:03:57 +0000 Message-Id: <69b0873d.38322.74eb5f2d@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=35b976c6ce6145678ab378b21fdeab687a0a76d5 commit 35b976c6ce6145678ab378b21fdeab687a0a76d5 Author: Gleb Smirnoff AuthorDate: 2026-03-10 17:36:21 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-10 21:02:40 +0000 tests/kern/ssl_sendfile: reduce copy & paste Provide sendme_locked_wait() for a common pattern. Not functional change. --- tests/sys/kern/ssl_sendfile.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/sys/kern/ssl_sendfile.c b/tests/sys/kern/ssl_sendfile.c index 884079e80be5..066674f5fb03 100644 --- a/tests/sys/kern/ssl_sendfile.c +++ b/tests/sys/kern/ssl_sendfile.c @@ -252,6 +252,14 @@ sendme_locked(struct ctx *c, off_t offset, size_t size, bool nb) ATF_REQUIRE(pthread_cond_signal(&c->cv) == 0); } +static void +sendme_locked_wait(struct ctx *c, off_t offset, size_t size, bool nb) +{ + sendme_locked(c, offset, size, nb); + while (c->state != READY) + ATF_REQUIRE(pthread_cond_wait(&c->cv, &c->mtx) == 0); +} + static void sendme(struct ctx *c, off_t offset, size_t size, bool nb) { @@ -454,9 +462,7 @@ ATF_TC_BODY(eagain_vs_eof, tc) * socket. Internall sendfile(2) returns -1 and errno == EAGAIN. */ ATF_REQUIRE(pthread_mutex_lock(&c.mtx) == 0); - sendme_locked(&c, 0, FSIZE, true); - while (c.state != READY) - ATF_REQUIRE(pthread_cond_wait(&c.cv, &c.mtx) == 0); + sendme_locked_wait(&c, 0, FSIZE, true); ATF_REQUIRE(c.sbytes > 0); ATF_REQUIRE(SSL_get_error(c.srv, c.sbytes) == 0); #if 0 /* see https://github.com/openssl/openssl/issues/29742 */ @@ -466,9 +472,7 @@ ATF_TC_BODY(eagain_vs_eof, tc) /* * Exercise second attempt on already full buffer. */ - sendme_locked(&c, 0, FSIZE, true); - while (c.state != READY) - ATF_REQUIRE(pthread_cond_wait(&c.cv, &c.mtx) == 0); + sendme_locked_wait(&c, 0, FSIZE, true); ATF_REQUIRE(c.sbytes == -1); ATF_REQUIRE(SSL_get_error(c.srv, c.sbytes) == SSL_ERROR_WANT_WRITE); ATF_REQUIRE(BIO_should_retry(SSL_get_wbio(c.srv))); @@ -489,9 +493,7 @@ ATF_TC_BODY(eagain_vs_eof, tc) * legitimate one. This test just documents the existing behavior * rather than asserts that this is a correct behavior. */ - sendme_locked(&c, FSIZE, 0, true); - while (c.state != READY) - ATF_REQUIRE(pthread_cond_wait(&c.cv, &c.mtx) == 0); + sendme_locked_wait(&c, FSIZE, 0, true); ATF_REQUIRE(c.sbytes == 0); ATF_REQUIRE(SSL_get_error(c.srv, c.sbytes) == SSL_ERROR_SYSCALL); #if 0 /* see https://github.com/openssl/openssl/issues/29742 */ @@ -501,9 +503,7 @@ ATF_TC_BODY(eagain_vs_eof, tc) /* * Exercise short write due to end of file. */ - sendme_locked(&c, FSIZE - 100, 0, true); - while (c.state != READY) - ATF_REQUIRE(pthread_cond_wait(&c.cv, &c.mtx) == 0); + sendme_locked_wait(&c, FSIZE - 100, 0, true); ATF_REQUIRE(c.sbytes == 100); ATF_REQUIRE(SSL_get_error(c.srv, c.sbytes) == 0); #if 0 /* see https://github.com/openssl/openssl/issues/29742 */ From nobody Tue Mar 10 22:20:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVpH40tjhz6V94Q for ; Tue, 10 Mar 2026 22:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVpH35ZV1z3c4w for ; Tue, 10 Mar 2026 22:20:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773181231; 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; bh=b0rtPjQ71fS1cBGmo+8kImfiCNB0SZ2pOfkl/kQU/8A=; b=xUtaHuyroS3ti81XZt9FjiAf/Du0C3ubkArFozUrXm+2uNEs7iLf0bY+gtZi9MuBQJnNko 5kcHyguh4AUdTjDtXvmzlmcRLjzUvbIy2kYBTg/rv2W34VT0kFluNc0iXu1GtYDno9Ml4A RV3M5R96BWM6ThIGSYSP8kLw7CSjPvZ2jYk9kPAMXNS5RajKEy5zwF9L6/YfEkFloKl6Q/ /hZTAmif3lgk9SkjjJEXtOym/QDjAR98r1A1J035zFhs5E+WO69M6aEduyGOQVkbvcEcvM gCQYJTAOQ8jxA4kMehkFNLa8Xzcsz2W1LHQeITvQPeI0O2qfb5ocohppB/RutQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773181231; a=rsa-sha256; cv=none; b=UlL+WXNP4/ZakoBx3hZ4qCqbw6MLri3RKj6fmV2OMYp6UZbKlhSVtRZJk33vMLZ5QNPZss 8xQE3w3vwWh8ASRWAJM+fZkXYJrsY1zpDFfw7dSoEELuVhl3p6Qa1nfe1YJ4lhInkBA8tl 732h73Xb1rWZW0R+YUugJ69key+WaSqHnvZp7Sja6Gl+j0At+IawTZSHPm1zvTuxMk+Evi ki60WBZ420uic8/UoPeT46z8QU5k11M4ctoKL6sZ7AxBeXceOA1LnKGPbJw3zuoUKH72vi j+2afNIQQW6keR3oeFhK8opZpwpqznfToTJ7rSkA29daNItvikdRf09ekZweyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773181231; 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; bh=b0rtPjQ71fS1cBGmo+8kImfiCNB0SZ2pOfkl/kQU/8A=; b=SACpxuXPpZM/M/1e2qZ0e3aFKhRGX7WjSNOHHfOpLEiQP2vqMEnYEiNF97KutR6dUZgzp2 ZxiBYI3SeHLOiBP/HY12yBcxFCsvCsh2Qy+NRmW7Fs6qN+ILffEkCu6M03uxmZxaKJJ5nK BxdZLw8RGK0B11ExrFu49iKYMCQny4UBlMuQlLCSergvU+dE3BOEvcxwf7Canf8Cpye+wH bHS1bBEu/tiaQ4j6waxpKfrJfwh2krpf1Rd9Ym6tVoNZuNZEQdcQPj73ytSMJJVWozDrR1 tG422J/vr2wKsGeukp/0c3HQHtWmE2CYNByELAU4h/Myafxs8nhL+nAoD2wl4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVpH34SvhzX6f for ; Tue, 10 Mar 2026 22:20:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f8e0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 22:20:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ali Mashtizadeh From: Warner Losh Subject: git: bfb2fd5f6618 - main - libpmc: Explicitly whitelist json fields List-Id: Commit messages for the main 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: bfb2fd5f66183454cfe8771595df09c0f23c7efb Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 22:20:26 +0000 Message-Id: <69b0992a.3f8e0.623c0715@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bfb2fd5f66183454cfe8771595df09c0f23c7efb commit bfb2fd5f66183454cfe8771595df09c0f23c7efb Author: Ali Mashtizadeh AuthorDate: 2026-02-28 20:45:27 +0000 Commit: Warner Losh CommitDate: 2026-03-10 22:20:17 +0000 libpmc: Explicitly whitelist json fields Adds all missing Intel fields and turns jevents.c into an explicit white list mechanism so that we no longer ignore important fields that often invalidate the counter. The json event parser must now parse every field on each architecture that we support. This has been tested by running tinderbox and manually running jevent against our current json repository. As a bonus I fixed spelling errors in the AMD JSON definitions. Sponsored by: Netflix Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2055 --- lib/libpmc/libpmc.c | 5 +- lib/libpmc/libpmc_pmu_util.c | 19 +++ lib/libpmc/pmu-events/arch/x86/amdzen4/cache.json | 2 +- .../pmu-events/arch/x86/amdzen5/load-store.json | 2 +- .../pmu-events/arch/x86/amdzen6/load-store.json | 2 +- lib/libpmc/pmu-events/jevents.c | 129 ++++++++++++++++----- 6 files changed, 126 insertions(+), 33 deletions(-) diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index 155da7cf6a7b..6be91a7501fe 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -1121,8 +1121,11 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, r = spec_copy = strdup(ctrspec); ctrname = strsep(&r, ","); if (pmc_pmu_enabled()) { - if (pmc_pmu_pmcallocate(ctrname, &pmc_config) == 0) + errno = pmc_pmu_pmcallocate(ctrname, &pmc_config); + if (errno == 0) goto found; + if (errno == EOPNOTSUPP) + goto out; } free(spec_copy); spec_copy = NULL; diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index 0832ab32e2f1..5db60fe6dafe 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -241,6 +241,7 @@ struct pmu_event_desc { uint8_t ped_edge; uint8_t ped_fc_mask; uint8_t ped_ch_mask; + uint8_t ped_pebs; }; static const struct pmu_events_map * @@ -377,6 +378,8 @@ pmu_parse_event(struct pmu_event_desc *ped, const char *eventin) ped->ped_allcores = strtol(value, NULL, 10); else if (strcmp(key, "allsources") == 0) ped->ped_allsources = strtol(value, NULL, 10); + else if (strcmp(key, "pebs") == 0) + ped->ped_pebs = strtol(value, NULL, 10); else { debug = getenv("PMUDEBUG"); if (debug != NULL && strcmp(debug, "true") == 0 && value != NULL) @@ -487,6 +490,8 @@ pmc_pmu_print_counter_full(const char *ev) continue; if (strcasestr(pe->name, ev) == NULL) continue; + if (pe != pme->table) + printf("\n"); printf("name: %s\n", pe->name); if (pe->long_desc != NULL) printf("desc: %s\n", pe->long_desc); @@ -603,6 +608,7 @@ pmc_pmu_intel_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm, strcasestr(event_name, "uncore") != NULL) { pm->pm_class = PMC_CLASS_UCP; pm->pm_caps |= PMC_CAP_QUALIFIER; + /* XXX Check and block unsupported uncore counters */ } else if (ped->ped_event == 0x0) { pm->pm_class = PMC_CLASS_IAF; } else { @@ -631,6 +637,19 @@ pmc_pmu_intel_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm, iap->pm_iap_config |= IAP_INV; if (pm->pm_caps & PMC_CAP_INTERRUPT) iap->pm_iap_config |= IAP_INT; + + /* XXX Implement alone flag in the kernel module */ + + /* + * PEBS counters are not implemented on FreeBSD yet. Counters labeled + * with PEBS = 2 in the JSON definitions require PEBS. It seems that + * some of them return bogus counts if you attempt to use them. + */ + if (ped->ped_pebs == 2) { + printf("PEBS only counters are not supported!\n"); + return (EOPNOTSUPP); + } + return (0); } diff --git a/lib/libpmc/pmu-events/arch/x86/amdzen4/cache.json b/lib/libpmc/pmu-events/arch/x86/amdzen4/cache.json index e6d710cf3ce2..01c848a9dbb3 100644 --- a/lib/libpmc/pmu-events/arch/x86/amdzen4/cache.json +++ b/lib/libpmc/pmu-events/arch/x86/amdzen4/cache.json @@ -182,7 +182,7 @@ { "EventName": "ls_inef_sw_pref.all", "EventCode": "0x52", - "BriefDescript6ion": "Software prefetches that did not fetch data outside of the processor core for any reason.", + "BriefDescription": "Software prefetches that did not fetch data outside of the processor core for any reason.", "UMask": "0x03" }, { diff --git a/lib/libpmc/pmu-events/arch/x86/amdzen5/load-store.json b/lib/libpmc/pmu-events/arch/x86/amdzen5/load-store.json index 06bbaea15925..f36b58031d4b 100644 --- a/lib/libpmc/pmu-events/arch/x86/amdzen5/load-store.json +++ b/lib/libpmc/pmu-events/arch/x86/amdzen5/load-store.json @@ -345,7 +345,7 @@ { "EventName": "ls_inef_sw_pref.all", "EventCode": "0x52", - "BriefDescript6ion": "Software prefetches that did not fetch data outside of the processor core for any reason.", + "BriefDescription": "Software prefetches that did not fetch data outside of the processor core for any reason.", "UMask": "0x03" }, { diff --git a/lib/libpmc/pmu-events/arch/x86/amdzen6/load-store.json b/lib/libpmc/pmu-events/arch/x86/amdzen6/load-store.json index 4291eb59426f..4adba70bffb1 100644 --- a/lib/libpmc/pmu-events/arch/x86/amdzen6/load-store.json +++ b/lib/libpmc/pmu-events/arch/x86/amdzen6/load-store.json @@ -351,7 +351,7 @@ { "EventName": "ls_inef_sw_pref.all", "EventCode": "0x52", - "BriefDescript6ion": "Software prefetches that did not fetch data outside of the processor core for any reason.", + "BriefDescription": "Software prefetches that did not fetch data outside of the processor core for any reason.", "UMask": "0x03" }, { diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c index 4e4f53a0c0d0..25119cd3c7b8 100644 --- a/lib/libpmc/pmu-events/jevents.c +++ b/lib/libpmc/pmu-events/jevents.c @@ -242,27 +242,33 @@ static struct msrmap *lookup_msr(char *map, jsmntok_t *val) return NULL; } +/* + * Converts the unit names to add a prefix used to identify the counter class + * in other parts of libpmc. The fallback path for unknown units prefixes the + * unit with "uncore_". + */ static struct map { const char *json; const char *perf; } unit_to_pmu[] = { + /* Intel */ + { "cpu_core", "cpu_core" }, + { "cpu_atom", "cpu_atom" }, { "CBO", "uncore_cbox" }, { "QPI LL", "uncore_qpi" }, { "SBO", "uncore_sbox" }, { "iMPH-U", "uncore_arb" }, - { "CPU-M-CF", "cpum_cf" }, - { "CPU-M-SF", "cpum_sf" }, { "UPI LL", "uncore_upi" }, + /* AMD */ + { "L3PMC", "amd_l3" }, + { "DFPMC", "amd_df" }, + /* ARM HiSilicon */ { "hisi_sicl,cpa", "hisi_sicl,cpa"}, { "hisi_sccl,ddrc", "hisi_sccl,ddrc" }, { "hisi_sccl,hha", "hisi_sccl,hha" }, { "hisi_sccl,l3c", "hisi_sccl,l3c" }, - /* it's not realistic to keep adding these, we need something more scalable ... */ + /* ARM FreeScale */ { "imx8_ddr", "imx8_ddr" }, - { "L3PMC", "amd_l3" }, - { "DFPMC", "amd_df" }, - { "cpu_core", "cpu_core" }, - { "cpu_atom", "cpu_atom" }, {} }; @@ -586,14 +592,24 @@ static int json_events(const char *fn, "Expected string value"); nz = !json_streq(map, val, "0"); - /* match_field */ - if (json_streq(map, field, "UMask") && nz) { - addfield(map, &umask, "", "umask=", val); - } else if (json_streq(map, field, "EnAllCores") && nz) { + /* + * Match the field against known fields. This list is + * an explicit whitelist so that the build will break + * if we add new json definitions with unimplemented + * fields. If a field may contain a zero value that + * results in ignoring the field, do not check nz in + * the top level conditional statement as it will + * result in executing the else clause that reports an + * error. + */ + if (json_streq(map, field, "UMask")) { + if (nz) + addfield(map, &umask, "", "umask=", val); + } else if (json_streq(map, field, "EnAllCores")) { addfield(map, &allcores, "", "allcores=", val); - } else if (json_streq(map, field, "EnAllSlices") && nz) { + } else if (json_streq(map, field, "EnAllSlices")) { addfield(map, &allslices, "", "allslices=", val); - } else if (json_streq(map, field, "SliceId") && nz) { + } else if (json_streq(map, field, "SliceId")) { /* * We use sourceid because there's a * descripency where the JSON from linux calls @@ -603,18 +619,26 @@ static int json_events(const char *fn, * the references in hwpmc_amd.h. */ addfield(map, &sliceid, "", "sourceid=", val); - } else if (json_streq(map, field, "ThreadMask") && nz) { - addfield(map, &threadmask, "", "l3_thread_mask=", val); - } else if (json_streq(map, field, "CounterMask") && nz) { - addfield(map, &cmask, "", "cmask=", val); - } else if (json_streq(map, field, "Invert") && nz) { - addfield(map, &inv, "", "inv=", val); - } else if (json_streq(map, field, "AnyThread") && nz) { - addfield(map, &any, "", "any=", val); - } else if (json_streq(map, field, "EdgeDetect") && nz) { - addfield(map, &edge, "", "edge=", val); - } else if (json_streq(map, field, "SampleAfterValue") && nz) { - addfield(map, &period, "", "period=", val); + } else if (json_streq(map, field, "ThreadMask")) { + if (nz) + addfield(map, &threadmask, "", "l3_thread_mask=", val); + } else if (json_streq(map, field, "CounterMask")) { + if (nz) + addfield(map, &cmask, "", "cmask=", val); + } else if (json_streq(map, field, "RdWrMask")) { + /* AMD UMC */ + } else if (json_streq(map, field, "Invert")) { + if (nz) + addfield(map, &inv, "", "inv=", val); + } else if (json_streq(map, field, "AnyThread")) { + if (nz) + addfield(map, &any, "", "any=", val); + } else if (json_streq(map, field, "EdgeDetect")) { + if (nz) + addfield(map, &edge, "", "edge=", val); + } else if (json_streq(map, field, "SampleAfterValue")) { + if (nz) + addfield(map, &period, "", "period=", val); } else if (json_streq(map, field, "FCMask") && nz) { addfield(map, &fc_mask, "", "fc_mask=", val); } else if (json_streq(map, field, "PortMask") && nz) { @@ -695,22 +719,69 @@ static int json_events(const char *fn, addfield(map, &arch_std, "", "", val); for (s = arch_std; *s; s++) *s = tolower(*s); + } else if (json_streq(map, field, "Offcore")) { + /* Check the relevant MSR has been set */ + } else if (json_streq(map, field, "CounterType")) { + /* Unsupported Intel Offcore counters */ + } else if (json_streq(map, field, "UMaskExt")) { + /* Unsupported Intel Offcore counters */ + } else if (json_streq(map, field, "PDIR_COUNTER")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "CollectPEBSRecord")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "PEBScounters")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "Counter")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "CounterHTOff")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "PRECISE_STORE")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "L1_Hit_Indication")) { + /* Intel PEBS not supported */ + } else if (json_streq(map, field, "RetirementLatencyMin")) { + /* Intel TPEBS not supported */ + } else if (json_streq(map, field, "RetirementLatencyMax")) { + /* Intel TPEBS not supported */ + } else if (json_streq(map, field, "RetirementLatencyMean")) { + /* Intel TPEBS not supported */ + } else if (json_streq(map, field, "Speculative")) { + /* Intel informative */ + } else if (json_streq(map, field, "Experimental")) { + /* Intel informative */ + } else if (json_streq(map, field, "ELLC")) { + /* Intel informative */ + } else if (json_streq(map, field, "TakenAlone")) { + /* + * Do not measure with other counters, usually + * this is because it uses an MSR to filter the + * event in a way that affects other counters. + */ + if (json_streq(map, val, "1")) + addfield(map, &event, ",", "alone", NULL); } else { /* - * We shouldn't ignore unknown fields that - * makes the counter invalid! + * We shouldn't ignore unknown fields that may + * make the counter invalid! + * + * Often the JSON definitions are copied + * without checking if any fields require + * handling. */ json_copystr(map, field, buf, sizeof(buf)); fprintf(stderr, "Unknown field '%s'!\n", buf); + _Exit(1); } } if (precise && je.desc && !strstr(je.desc, "(Precise Event)")) { - if (json_streq(map, precise, "2")) + if (json_streq(map, precise, "2")) { addfield(map, &extra_desc, " ", "(Must be precise)", NULL); - else + addfield(map, &event, ",", "pebs=", precise); + } else { addfield(map, &extra_desc, " ", "(Precise event)", NULL); + } } if (configcode_present) snprintf(buf, sizeof buf, "config=%#llx", configcode); From nobody Wed Mar 11 00:00:56 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVrVw5Vx7z6VMh7 for ; Wed, 11 Mar 2026 00:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVrVw1Y4bz3q3c for ; Wed, 11 Mar 2026 00:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773187256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e39P87ywQAvs2OJ56uaLbZ+33JiEE7yV/43vB7bXgLM=; b=LUzYTzKJS1uzJTOmu7Ig/qBZZqSAtK2rm289EQ8wIoTsHvol3ldZgkdfbNETKo2GpdOn6G 3b1o/+Dpvcpu10P3AURaPL3GrkrOK2vxld4Iv+MxAHdhMjwM97tTRejtgVWV5ttTGAeLQB bgfNnhEXszhB4EcnkAjHd/aJSzpDvMSBX6KinzkgH8Ro7HCgc22/+uo9x4JpQwrR8G12J3 eiYZZ5MaPBKSazyYmf+D24vTCiuBoKykwwlONOiDk/RGQn/sjMHRh/0j5kzQUC4hhA6ehy VK7ly+QgV4eEQB4Cu4p0XTWnyNgv1ZbRn1refutlsQ+d0sdcOjlu+tB//Yi5/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773187256; a=rsa-sha256; cv=none; b=uRWxgM1psT+bBzFJ/eI6QYu4AKKZGTuqqdI4NCUdF31GJgEuAzOoNfj08a1thpAVGDKnqS 5cmjABD8io+y5N3gpZw/s/NzM/cpGnEXY5S9DE3s3iS3+VjKgPrgRQC4Bcv/w1Q7BqS+vw WW5wmmX2UM5I58UiAlMoMAMA8e6lGrwGbgEKoRW48/AB+69jYWrlxzO/w29fJ8ym1C6LmO K3Gv3b/C6XGGNTGlNX4oiejm0GvXRr0G8FzQUxhFcMJT4qBJFuoihLJCnPsQPjATgoV41+ Hu6/c5C3l25niouErD2y0SD+5ixLAK0xUCWJ9PvHDSL0wKLkFvyB8i5DEp508A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773187256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e39P87ywQAvs2OJ56uaLbZ+33JiEE7yV/43vB7bXgLM=; b=nIuP0IL4mNFMgKz8v0TArNfLyiske3p2TgvR48ILEYQynlHIBack7/VBGa0NyRK43Kj0Ix niM7CMvFgPmICQ/Cw/9bplyc7CfAtZOfmYSi2L7tDsUTK2kXVqIVeslGUyY8M+k7p6wzH7 OTS7EMhoijAgPCGYLEspUdKn0KWEJjITdtG1+jF+bf6NFuJL2ePsse/ihoSCaDvDmvWxSC 9sccYFyP/wJN+rsM+MSSXjUg/JsFxAM/lX/0ecDYYQJuqoZkuBaTpmx9/AtQs5lpl6AP+a XvN27LWAME+ftItxADrMcxK6/EQWi/2/CNVaRTHl7sbwb/pLohxNi9EBXg1qcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVrVw0Yh0zbMB for ; Wed, 11 Mar 2026 00:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46ff0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 00:00:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 96294c22f7e5 - main - build: Stop testing LINKER_FEATURES for ifunc and build-id List-Id: Commit messages for the main 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: 96294c22f7e54a48df44c86a4ee5848e71ac4470 Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 00:00:56 +0000 Message-Id: <69b0b0b8.46ff0.4fbc2718@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=96294c22f7e54a48df44c86a4ee5848e71ac4470 commit 96294c22f7e54a48df44c86a4ee5848e71ac4470 Author: Ed Maste AuthorDate: 2026-03-05 19:09:19 +0000 Commit: Ed Maste CommitDate: 2026-03-11 00:00:17 +0000 build: Stop testing LINKER_FEATURES for ifunc and build-id These features are available in all supported linkers, and we can expect that they'll be supported by any GNU-compatible linker that we'd use to link FreeBSD. Reviewed by: imp, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55676 --- lib/libc/Makefile | 6 ------ stand/i386/Makefile.inc | 2 -- sys/conf/kern.pre.mk | 6 ------ sys/conf/kmod.mk | 2 -- 4 files changed, 16 deletions(-) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 56818e07aa96..fd546dfcef61 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -190,12 +190,6 @@ SUBDIR.${MK_TESTS}+= tests .include -.if (${LIBC_ARCH} == amd64 || ${LIBC_ARCH} == i386) && \ - ${.TARGETS:Mall} == all && \ - defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mifunc} == "" -.error ${LIBC_ARCH} libc requires linker ifunc support -.endif - .if !defined(_SKIP_BUILD) # We need libutil.h, get it directly to avoid # recording a build dependency diff --git a/stand/i386/Makefile.inc b/stand/i386/Makefile.inc index 324c211420ae..bd4b893df0ac 100644 --- a/stand/i386/Makefile.inc +++ b/stand/i386/Makefile.inc @@ -23,9 +23,7 @@ CFLAGS+= -I${BTXLIB} LDSCRIPT= ${BOOTSRC}/i386/boot.ldscript LDFLAGS_ORG= -Wl,--defsym,ORG=${ORG},-T,${LDSCRIPT} LDFLAGS_BIN= -e start ${LDFLAGS_ORG} -Wl,-N,-S,--oformat,binary -.if ${LINKER_FEATURES:Mbuild-id} != "" LDFLAGS_BIN+= -Wl,--build-id=none -.endif LD_FLAGS_BIN= -static -N --gc-sections .if ${MACHINE_CPUARCH} == "amd64" diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index cf5e4a96ad49..d4b29aac5e63 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -115,14 +115,8 @@ CFLAGS+= ${GCOV_CFLAGS} # the others. CFLAGS+= ${CONF_CFLAGS} -.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} LDFLAGS+= --build-id=sha1 -.endif -.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mifunc} == "" && \ - !make(install) -.error kernel requires linker ifunc support -.endif .if ${MACHINE_CPUARCH} == "amd64" LDFLAGS+= -z max-page-size=2097152 .if ${LINKER_TYPE} != "lld" diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 4f1509592483..aacd7a17ef99 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -159,9 +159,7 @@ LDFLAGS+= -d .endif LDFLAGS+= -warn-common -.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} LDFLAGS+= --build-id=sha1 -.endif CFLAGS+= ${DEBUG_FLAGS} .if ${MACHINE_CPUARCH} == aarch64 || ${MACHINE_CPUARCH} == amd64 || \ From nobody Wed Mar 11 03:44:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVxTF6vXSz6Vdrb for ; Wed, 11 Mar 2026 03:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVxTF4hmFz3Cwk for ; Wed, 11 Mar 2026 03:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773200689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZVY4MzyzAP3vKNgFamTn9cYnlqFaL05ZNoXmOA+9WNQ=; b=krhBtGlP1dwWbKtYjyittzu2MePMUK8kRInAMrBYo4oHC9z9uDTWphirvif/WOqW/E4WAD Bk2uYodO7P0Z0PaZJHpv7hpFJgumg9CLgjnoLBqN9IEwq9J15IhYtUEvn6SL9ak7JKly5V 8gmCLSL+KD5JJ3lPflLLUX6aHE1K+GxdO1Sx2Z00feJPG5Mldg9QcY+35IZdHeWiuhX171 80lTUro6ESF8QR3VgW31fNsFL4VRr26xfYv5JrGgusnMbLK5Ql+OkBrvl928SSycvd5C0P dgbZYsVFXS/xRqLgm6kCefcC6m0H6mEE0L/raOz/l7v8WYZNO6/aV3i0oyjZoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773200689; a=rsa-sha256; cv=none; b=PyULfXY/UTpMcr9G8fAXNMPAvUdpHs+Jk0dR9b0V7aDW3zGknenSgnlfRHWxXJQG8+g+31 hpmOZsLBVhPoXpUCAqsVxxHXa125uPATtCesn2K1Kvnxr7pjnFx14coluFNzjAyN6BmUn8 A2EjGSwxcOrN0rlEbKb+GypcX3L282VE+nDvm0fso6DpUe/cxomsKSc2tKDO1H/haQlMlU 4UdiMWLKEbNsLNaOyO8jrV6FBGKQvgTynGFZIOLIVHyZLbzyGFKsPxkZRYs9AtMCyGmcpO qgILOQ9grZXb1AA9+miewLvRgK4zLn1040jOY9zrqJWLV9ZsV1fjA5+LB7w6qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773200689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZVY4MzyzAP3vKNgFamTn9cYnlqFaL05ZNoXmOA+9WNQ=; b=o0Jj7qoWolr7K0k9vFUfkeKQL64JkxUFw1m5PymBDySrtTQnI4VPYDp3uJwBHUwAwPCcY0 bHPV7G/EDGLOevoAPsg2+o9wQ3wkNmrKDSHsbSEBeZj25yB8q6rJs1PhgzB39dJWmhYXrr KM9OTsbN6/+TYihY7Drkw6b29u2mkCvDbVFnIGOyJkb+OCBIslX7LxBnw5vvFEHOnce91K gP4UBxXc43khpny9yR6dWtqqOlKPZm0f7P73ME4E8U8/2aB6emGfxHMoYFB8khWu1J3VQt aqz7D+nw0xA+oUNmjxgBKeHjLldEQsljiY4cjFebgaNgVpRmR0MvoCglMcUFtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVxTF3xVmzj6D for ; Wed, 11 Mar 2026 03:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a826 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 03:44:44 +0000 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=B8rg?=rav Subject: git: 67728a18b9c1 - main - yes: Add tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 67728a18b9c18e55cc60e063380825b80f25b1b9 Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 03:44:44 +0000 Message-Id: <69b0e52c.3a826.c9c4e07@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=67728a18b9c18e55cc60e063380825b80f25b1b9 commit 67728a18b9c18e55cc60e063380825b80f25b1b9 Author: Dag-Erling Smørgrav AuthorDate: 2026-03-11 03:44:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-11 03:44:17 +0000 yes: Add tests MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D55802 --- etc/mtree/BSD.tests.dist | 2 + usr.bin/yes/Makefile | 4 ++ usr.bin/yes/tests/Makefile | 4 ++ usr.bin/yes/tests/yes_test.sh | 85 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 770f3434ac11..4fa35d1a17d0 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1265,6 +1265,8 @@ yacc .. .. + yes + .. .. usr.sbin certctl diff --git a/usr.bin/yes/Makefile b/usr.bin/yes/Makefile index b1d4075b5917..545c95d00624 100644 --- a/usr.bin/yes/Makefile +++ b/usr.bin/yes/Makefile @@ -1,3 +1,7 @@ +.include + PROG= yes +HAS_TESTS= +SUBDIR.${MK_TESTS}= tests .include diff --git a/usr.bin/yes/tests/Makefile b/usr.bin/yes/tests/Makefile new file mode 100644 index 000000000000..874a1bc21751 --- /dev/null +++ b/usr.bin/yes/tests/Makefile @@ -0,0 +1,4 @@ +PACKAGE= tests +ATF_TESTS_SH= yes_test + +.include diff --git a/usr.bin/yes/tests/yes_test.sh b/usr.bin/yes/tests/yes_test.sh new file mode 100644 index 000000000000..f4c04e186536 --- /dev/null +++ b/usr.bin/yes/tests/yes_test.sh @@ -0,0 +1,85 @@ +# +# Copyright (c) 2026 Klara, Inc. +# +# SPDX-License-Identifier: BSD-2-Clause +# + +atf_test_case none +none_head() +{ + atf_set "descr" "No arguments" +} +none_body() +{ + atf_check \ + -o inline:"y\ny\ny\ny\ny\n" \ + -x "yes | head -5" +} + +atf_test_case one +one_head() +{ + atf_set "descr" "One argument" +} +one_body() +{ + local y="Hello, world!" + atf_check \ + -o inline:"${y}\n${y}\n${y}\n${y}\n${y}\n" \ + -x "yes '${y}' | head -5" +} + +atf_test_case multi +multi_head() +{ + atf_set "descr" "Multiple arguments" +} +multi_body() +{ + set -- The Magic Words are Squeamish Ossifrage + local y="$*" + atf_check \ + -o inline:"${y}\n${y}\n${y}\n${y}\n${y}\n" \ + -x "yes $* | head -5" +} + +atf_test_case argv +argv_head() +{ + atf_set "descr" "Verify that argv is unmolested" +} +argv_body() +{ + yes y >/dev/null & + local pid=$! + atf_check -o inline:"yes y\n" ps -o args= $pid + kill $pid + wait +} + +atf_test_case stdout +stdout_head() +{ + atf_set descr "Error writing to stdout" +} +stdout_body() +{ + ( + trap "" PIPE + # Give true(1) some time to exit. + sleep 1 + yes 2>stderr + echo $? >result + ) | true + atf_check -o inline:"1\n" cat result + atf_check -o match:"stdout" cat stderr +} + +atf_init_test_cases() +{ + atf_add_test_case none + atf_add_test_case one + atf_add_test_case multi + atf_add_test_case argv + atf_add_test_case stdout +} From nobody Wed Mar 11 03:50:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVxc14LCsz6VfLV for ; Wed, 11 Mar 2026 03:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVxc03Cljz3DfG for ; Wed, 11 Mar 2026 03:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773201040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KyGEi8cHnY8580ayZYiKxjh6F0xZUryShNjqEwfW1cc=; b=xoW7T4o6RO2QTgyR4XN1QNEkAsmH/eqq74ysgGBgky2tvjcm/BCmrh94WaeR3eFry9NWE0 Y8h5RAAGgkTGbEzMG/koxPOeIVPIo1afJdrb9U9jfyKwOLrcUzYhtbvVfzbHeuuRqvsyvX 1zsbQ2HJCSWTJDQzVVrNJApCQDLRzlqB6s6hztMc9rvNYVi3OW6S7y8zU9IPTaGsi3RDYX 12tloWI9ZojAxvkXR6i9FQVz3etenp/db2d10wwaQpibnJb03PgC6S4hAT7/Kf/SjfdozB bMT8nQgpRB6bu5Z2TzGzsw/tRt2C7Je+9ylbxkUzALEECv2nUsBN6OLGRF/L7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773201040; a=rsa-sha256; cv=none; b=CmhG4hnk8zNuiyf0ya2MNNeTB1425F6hp3WKvYTMQWjWJKct3my/WK84AgSOe95v2Ap2pE Zoq6kCfowR/XA4UUHGLb127ng5C2mAYCm2W01CxXdYnwI+cvzf47hz1NzaynWZT+iBP5bm 01IWHR5DUexVJUPFN9Gk73ljPfXBMiq7NPsv3eGdd7VDdUKgCKWGwEN1S7DNdinYT2Hc3v l/ko5hssn0g8GZ7QXbejpEsR+v12ykPUGz5/+EzT73A34T512R02mzbXEkHH9xLVsCkBhy RJWiaLaH1WIUSnhI+UgLQC6U6q07W62QCItSeINGl3B5N/4o8DfHn0hjkliToQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773201040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KyGEi8cHnY8580ayZYiKxjh6F0xZUryShNjqEwfW1cc=; b=NXaDEh3Un0H2XxPvcTvBicDFwcltWyCjbCF7o0Tevj7UY3w0R2CfozYDR+0xNHCsAEC3w7 aHP7DnWqvbnaVXVRLLVX1njIKTMSqsTjCDDMCkkHsbmcOpWC0llL8qfVprOAMGhJjpcaip YNUXmoxI8SP+8SsIGihmZwuHAOsFhLkwPGgi5oh0lUpmDOwcOEtJ33qsmn+Vrdh0jG3mXC eVd+BN4K028wPvLysvopSsGjD0/Vfr5jMnWuUc7XCgyRhO097b2+9xzgh3tU/rHDEFA8pC O6HQ7XpfT05tgNzke9gNz/MgjVHIsnq/axrEQIFzabS4sqDSeyzPjfR81QZd2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVxc02T6Szj6R for ; Wed, 11 Mar 2026 03:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bad3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 03:50:40 +0000 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=B8rg?=rav Subject: git: ff2c98b30b57 - main - tzcode: Update to 2026a List-Id: Commit messages for the main 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: ff2c98b30b57b9763e2a6575f729bab676e6c025 Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 03:50:40 +0000 Message-Id: <69b0e690.3bad3.5e857ff6@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ff2c98b30b57b9763e2a6575f729bab676e6c025 commit ff2c98b30b57b9763e2a6575f729bab676e6c025 Merge: 67728a18b9c1 cd59570c180e Author: Dag-Erling Smørgrav AuthorDate: 2026-03-11 03:47:31 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-11 03:48:58 +0000 tzcode: Update to 2026a Many thanks to Paul Eggert for adopting most of our adaptations as optional features upstream in the previous release (2025c). MFC after: 1 week Reviewed by: philip Differential Revision: https://reviews.freebsd.org/D55741 contrib/tzcode/CONTRIBUTING | 36 +- contrib/tzcode/Makefile | 236 ++++-- contrib/tzcode/NEWS | 232 ++++++ contrib/tzcode/README | 14 +- contrib/tzcode/SECURITY | 2 +- contrib/tzcode/calendars | 27 +- contrib/tzcode/date.1 | 4 +- contrib/tzcode/date.c | 7 +- contrib/tzcode/localtime.c | 1747 ++++++++++++++++++++++++----------------- contrib/tzcode/newctime.3 | 28 +- contrib/tzcode/newstrftime.3 | 2 +- contrib/tzcode/newtzset.3 | 47 +- contrib/tzcode/private.h | 372 +++++---- contrib/tzcode/strftime.c | 5 +- contrib/tzcode/theory.html | 383 ++++----- contrib/tzcode/time2posix.3 | 118 +-- contrib/tzcode/tz-art.html | 423 +++++----- contrib/tzcode/tz-how-to.html | 250 +++--- contrib/tzcode/tz-link.html | 398 +++++----- contrib/tzcode/tzconfig.h | 36 +- contrib/tzcode/tzfile.5 | 30 +- contrib/tzcode/tzfile.h | 30 +- contrib/tzcode/tzselect.ksh | 15 +- contrib/tzcode/version | 2 +- contrib/tzcode/workman.sh | 36 +- contrib/tzcode/zdump.c | 21 +- contrib/tzcode/zic.8 | 85 +- contrib/tzcode/zic.c | 783 ++++++++++-------- 28 files changed, 3146 insertions(+), 2223 deletions(-) diff --cc contrib/tzcode/Makefile index 2130582c2deb,000000000000..1e0a5903534d mode 100644,000000..100644 --- a/contrib/tzcode/Makefile +++ b/contrib/tzcode/Makefile @@@ -1,1383 -1,0 +1,1447 @@@ +# Make and install tzdb code and data. +# This file is in the public domain, so clarified as of +# 2009-05-17 by Arthur David Olson. +# Request POSIX conformance; this must be the first non-comment line. +.POSIX: ++# By default, builds of code and data assume POSIX.1-2001 or later; ++# this assumption can be relaxed by tailoring the build as described below. +# On older platforms you may need to scrounge for POSIX conformance. +# For example, on Solaris 10 (2005) with Sun Studio 12 aka Sun C 5.9 (2007), +# use 'PATH=/usr/xpg4/bin:$PATH make CC=c99'. ++# Reproducible builds of distribution tarballs also need a copy of the ++# Git repository, and assume the behavior of the following programs ++# (or later versions): ++# Git 2.7.0 (2016) ++# GNU Coreutils 6.3 (2006) ++# GNU Tar 1.14 (2004) ++# GnuPG 1.4 (2004) ++# Although tzdb does not come with a software bill of materials, ++# you should be able to construct one based on the above information, ++# your platform, and the way you use this Makefile. + +# To affect how this Makefile works, you can run a shell script like this: +# +# #!/bin/sh - # make CC='gcc -std=gnu23' "$@" ++# make CFLAGS='-O2 -DHAVE_GETTEXT=0' "$@" +# - # This example script is appropriate for a circa 2024 GNU/Linux system - # where a non-default setting enables this package's optional use of C23. ++# This example script is appropriate for a GNU/Linux system ++# which needs more optimization than default, and which does not want ++# gettext's internationalization of diagnostics. +# +# Alternatively, you can simply edit this Makefile to tailor the following +# macro definitions. + +############################################################################### +# Start of macros that one plausibly might want to tailor. + +# Package name for the code distribution. +PACKAGE= tzcode + +# Version number for the distribution, overridden in the 'tarballs' rule below. +VERSION= unknown + +# Email address for bug reports. +BUGEMAIL= tz@iana.org + +# DATAFORM selects the data format. +# Available formats represent essentially the same data, albeit +# possibly with minor discrepancies that users are not likely to notice. +# To get new features and the best data right away, use: +# DATAFORM= vanguard +# To wait a while before using new features, to give downstream users +# time to upgrade zic (the default), use: +# DATAFORM= main +# To wait even longer for new features, use: +# DATAFORM= rearguard +# Rearguard users might also want "ZFLAGS = -b fat"; see below. +DATAFORM= main + +# Change the line below for your timezone (after finding the one you want in +# one of the $(TDATA) source files, or adding it to a source file). +# Alternatively, if you discover you've got the wrong timezone, you can just +# 'zic -l -' to remove it, or 'zic -l rightzone' to change it. +# Use the command +# make zonenames +# to get a list of the values you can use for LOCALTIME. + +LOCALTIME= Factory + - # The POSIXRULES macro controls interpretation of POSIX-like TZ - # settings like TZ='EET-2EEST' that lack DST transition rules. - # If POSIXRULES is '-', no template is installed; this is the default. - # Any other value for POSIXRULES is obsolete and should not be relied on, as: - # * It does not work correctly in popular implementations such as GNU/Linux. - # * It does not work even in tzcode, except for historical timestamps - # that precede the last explicit transition in the POSIXRULES file. - # Hence it typically does not work for current and future timestamps. - # If, despite the above, you want a template for handling these settings, - # you can change the line below (after finding the timezone you want in the - # one of the $(TDATA) source files, or adding it to a source file). - # Alternatively, if you discover you've got the wrong timezone, you can just - # 'zic -p -' to remove it, or 'zic -p rightzone' to change it. - # Use the command - # make zonenames - # to get a list of the values you can use for POSIXRULES. - - POSIXRULES= - - - # Also see TZDEFRULESTRING below, which takes effect only - # if POSIXRULES is '-' or if the template file cannot be accessed. - + +# Installation locations. +# +# The defaults are suitable for Debian, except that if REDO is +# posix_right or right_posix then files that Debian puts under +# /usr/share/zoneinfo/posix and /usr/share/zoneinfo/right are instead +# put under /usr/share/zoneinfo-posix and /usr/share/zoneinfo-leaps, +# respectively. Problems with the Debian approach are discussed in +# the commentary for the right_posix rule (below). + +# Destination directory, which can be used for staging. +# 'make DESTDIR=/stage install' installs under /stage (e.g., to +# /stage/etc/localtime instead of to /etc/localtime). Files under +# /stage are not intended to work as-is, but can be copied by hand to +# the root directory later. If DESTDIR is empty, 'make install' does +# not stage, but installs directly into production locations. +DESTDIR = + +# Everything is installed into subdirectories of TOPDIR, and used there. +# TOPDIR should be empty (meaning the root directory), +# or a directory name that does not end in "/". +# TOPDIR should be empty or an absolute name unless you're just testing. +TOPDIR = + +# The default local timezone is taken from the file TZDEFAULT. +TZDEFAULT = $(TOPDIR)/etc/localtime + +# The subdirectory containing installed program and data files, and +# likewise for installed files that can be shared among architectures. +# These should be relative file names. +USRDIR = usr +USRSHAREDIR = $(USRDIR)/share + +# "Compiled" timezone information is placed in the "TZDIR" directory +# (and subdirectories). +# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. +TZDIR_BASENAME= zoneinfo +TZDIR = $(TOPDIR)/$(USRSHAREDIR)/$(TZDIR_BASENAME) + +# The "tzselect" and (if you do "make INSTALL") "date" commands go in: +BINDIR = $(TOPDIR)/$(USRDIR)/bin + +# The "zdump" command goes in: +ZDUMPDIR = $(BINDIR) + +# The "zic" command goes in: +ZICDIR = $(TOPDIR)/$(USRDIR)/sbin + +# Manual pages go in subdirectories of. . . +MANDIR = $(TOPDIR)/$(USRSHAREDIR)/man + +# Library functions are put in an archive in LIBDIR. +LIBDIR = $(TOPDIR)/$(USRDIR)/lib + + +# Types to try, as an alternative to time_t. +TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL) +TIME_T_ALTERNATIVES_HEAD = int_least64_t.ck +TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \ + uint_least64_t.ck + +# What kind of TZif data files to generate. (TZif is the binary time +# zone data format that zic generates; see Internet RFC 9636.) +# If you want only POSIX time, with time values interpreted as +# seconds since the epoch (not counting leap seconds), use +# REDO= posix_only +# below. If you want only "right" time, with values interpreted +# as seconds since the epoch (counting leap seconds), use +# REDO= right_only +# below. If you want both sets of data available, with leap seconds not +# counted normally, use +# REDO= posix_right +# below. If you want both sets of data available, with leap seconds counted +# normally, use +# REDO= right_posix - # below. POSIX mandates that leap seconds not be counted; for compatibility - # with it, use "posix_only" or "posix_right". Use POSIX time on systems with ++# below. POSIX mandates that leap seconds not be counted, and a ++# nonnegative TZ_CHANGE_INTERVAL also assumes this, so to be compatible with ++# these, use "posix_only" or "posix_right". Use POSIX time on systems with +# leap smearing; this can work better than unsmeared "right" time with +# applications that are not leap second aware, and is closer to unsmeared +# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error). + - REDO= posix_right ++REDO= posix_only + +# Whether to put an "Expires" line in the leapseconds file. +# Use EXPIRES_LINE=1 to put the line in, 0 to omit it. +# The EXPIRES_LINE value matters only if REDO's value contains "right". +# If you change EXPIRES_LINE, remove the leapseconds file before running "make". +# zic's support for the Expires line was introduced in tzdb 2020a, +# and was modified in tzdb 2021b to generate version 4 TZif files. +# EXPIRES_LINE defaults to 0 for now so that the leapseconds file +# can be given to pre-2020a zic implementations and so that TZif files +# built by newer zic implementations can be read by pre-2021b libraries. +EXPIRES_LINE= 0 + +# To install data in text form that has all the information of the TZif data, +# (optionally incorporating leap second information), use +# TZDATA_TEXT= tzdata.zi leapseconds +# To install text data without leap second information (e.g., because +# REDO='posix_only'), use +# TZDATA_TEXT= tzdata.zi +# To avoid installing text data, use +# TZDATA_TEXT= + +TZDATA_TEXT= leapseconds tzdata.zi + +# For backward-compatibility links for old zone names, use +# BACKWARD= backward +# To omit these links, use +# BACKWARD= + +BACKWARD= backward + +# If you want out-of-scope and often-wrong data from the file 'backzone', +# but only for entries listed in the backward-compatibility file zone.tab, use +# PACKRATDATA= backzone +# PACKRATLIST= zone.tab +# If you want all the 'backzone' data, use +# PACKRATDATA= backzone +# PACKRATLIST= +# To omit this data, use +# PACKRATDATA= +# PACKRATLIST= + +PACKRATDATA= +PACKRATLIST= + +# The name of a locale using the UTF-8 encoding, used during self-tests. +# The tests are skipped if the name does not appear to work on this system. + +UTF8_LOCALE= en_US.utf8 + ++# Extra flags for producing man page files like tzfile.5.txt. ++# These flags are used only if groff (or mandoc) is present. ++# Each option should begin with "-" and should lack shell metacharacters. ++# Plausible options include -Tascii and -Tutf8. ++MANFLAGS= -Tutf8 ++ +# Non-default libraries needed to link. +# On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0. +LDLIBS= + +# Add the following to an uncommented "CFLAGS=" line as needed +# to override defaults specified in the source code or by the system. +# "-DFOO" is equivalent to "-DFOO=1". +# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime +# formats that generate only the last two digits of year numbers +# -DEPOCH_LOCAL if the 'time' function returns local time not UT +# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +# than what POSIX specifies, assuming local time is UT. +# For example, N is 252460800 on AmigaOS. ++# -DFREE_PRESERVES_ERRNO=[01] if the 'free' function munges or preserves errno ++# (default is guessed) +# -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r +# on POSIX platforms predating POSIX.1-2024 +# -DHAVE_DECL_ENVIRON if declares 'environ' +# -DHAVE_DECL_TIMEGM=0 if does not declare timegm +# -DHAVE_DIRECT_H if mkdir needs (MS-Windows) ++# -DHAVE_FCHMOD=0 if your system lacks the fchmod function +# -DHAVE__GENERIC=0 if _Generic does not work* ++# -DHAVE_GETEUID=0 if gete?[ug]id do not work +# -DHAVE_GETRANDOM if getrandom works (e.g., GNU/Linux), +# -DHAVE_GETRANDOM=0 to avoid using getrandom ++# -DHAVE_GETRESUID=0 if getres[ug]id do not work +# -DHAVE_GETTEXT if gettext works (e.g., GNU/Linux, FreeBSD, Solaris), +# where LDLIBS also needs to contain -lintl on some hosts; +# -DHAVE_GETTEXT=0 to avoid using gettext +# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares +# ctime_r and asctime_r incompatibly with POSIX.1-2017 and earlier +# (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). +# -DHAVE_INTTYPES_H=0 if does not work*+ ++# -DHAVE_ISSETUGID=1 if issetugid works, 0 otherwise (default is guessed) ++# If 0, you may also use -DHAVE_SYS_AUXV_H=1 if works, ++# 0 otherwise (default is guessed). +# -DHAVE_LINK=0 if your system lacks a link function +# -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function +# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz +# localtime_rz can make zdump significantly faster, but is nonstandard. +# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure. ++# -DHAVE_MEMPCPY=1 if your system has mempcpy, 0 if not (default is guessed) +# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare - # functions like 'link' or variables like 'tzname' required by POSIX ++# variables like 'tzname' required by POSIX ++# -DHAVE_PWD_H=0 if your system lacks pwd.h, grp.h and corresponding functions ++# If 0, you may also need -Dgid_t=G -Duid_t=U ++# to define gid_t and uid_t to be types G and U. +# -DHAVE_SETENV=0 if your system lacks the setenv function ++# -DHAVE_SETMODE=[01] if your system lacks or has the setmode and getmode ++# functions (default is guessed) +# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function+ +# -DHAVE_STDCKDINT_H=0 if neither nor substitutes like +# __builtin_add_overflow work* +# -DHAVE_STDINT_H=0 if does not work*+ +# -DHAVE_STRFTIME_L if declares locale_t and strftime_l +# -DHAVE_STRDUP=0 if your system lacks the strdup function ++# -DHAVE_STRNLEN=0 if your system lacks the strnlen function+ +# -DHAVE_STRTOLL=0 if your system lacks the strtoll function+ ++# -DHAVE_STRUCT_STAT_ST_CTIM=0 if struct stat lacks a status-change member ++# of type struct timespec, so code should use st_ctime instead; ++# but if the status-change member name is st_ctimespec, ++# use -Dst_ctim=st_ctimespec instead (default is guessed)+ ++# -DHAVE_STRUCT_TIMESPEC=0 if your system lacks struct timespec+ +# -DHAVE_SYMLINK=0 if your system lacks the symlink function +# -DHAVE_SYS_STAT_H=0 if does not work* ++# If 0, you may also need -Dmode_t=M to define mode_t to be type M. +# -DHAVE_TZSET=0 if your system lacks a tzset function +# -DHAVE_UNISTD_H=0 if does not work* +# -DHAVE_UTMPX_H=0 if does not work* +# -Dlocale_t=XXX if your system uses XXX instead of locale_t +# -DMKTIME_MIGHT_OVERFLOW if mktime might fail due to time_t overflow ++# -DOPENAT_TZDIR if tzset should use openat on TZDIR then a relative open. ++# See localtime.c for details. +# -DPORT_TO_C89 if tzcode should also run on mostly-C89 platforms+ +# Typically it is better to use a later standard. For example, +# with GCC 4.9.4 (2016), prefer '-std=gnu11' to '-DPORT_TO_C89'. +# Even with -DPORT_TO_C89, the code needs at least one C99 +# feature (integers at least 64 bits wide) and maybe more. +# -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers +# with external linkage, e.g., applications cannot define 'localtime'. +# -Dssize_t=int on hosts like MS-Windows that lack ssize_t +# -DSUPPORT_C89=0 if the tzcode library should not support C89 callers +# Although -DSUPPORT_C89=0 might work around latent bugs in callers, +# it does not conform to POSIX. +# -DSUPPORT_POSIX2008 if the library should support older POSIX callers+ +# However, this might cause problems in POSIX.1-2024-or-later callers. +# -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has +# security implications and is not recommended for general use +# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; +# not needed by the main-program tz code, which is single-threaded. +# Append other compiler flags as needed, e.g., -pthread on GNU/Linux. ++# The following options can also be used: ++# -DTHREAD_PREFER_SINGLE to prefer speed in single-threaded apps, ++# at some cost in CPU time and energy in multi-threaded apps. ++# The following options can also be used: ++# -DHAVE___ISTHREADED=1 if there is an extern int __isthreaded ++# variable, 0 otherwise (default is guessed) ++# -DHAVE_SYS_SINGLE_THREADED_H=0 if works, ++# 0 otherwise (default is guessed) ++# -DTHREAD_RWLOCK to use read-write locks instead of mutexes. ++# This can improve parallelism and thus save real time ++# if many threads call tzcode functions simultaneously. ++# It also costs CPU time and thus energy. ++# -DTHREAD_TM_MULTI to have gmtime, localtime, and offtime ++# return different struct tm * addresses in different threads. ++# This supports nonportable programs that call ++# gmtime/localtime/offtime when they should call ++# gmtime_r/localtime_r/offtime_r to avoid races. ++# Because the corresponding storage is freed on thread exit, ++# this option is incompatible with POSIX.1-2024 and earlier. ++# It also costs CPU time and memory. +# -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t +# This is intended for internal use only; it mangles external names. ++# -DTZ_CHANGE_INTERVAL=N if functions depending on TZ should check ++# no more often than every N seconds for TZif file changes. ++# If N is negative (the default), no such checking is done. ++# This option is intended for platforms that want localtime etc. ++# to respond to changes to a file selected by TZ, including to ++# TZDEFAULT (normally /etc/localtime) if TZ is unset. ++# On these platforms, REDO should be "posix_only" or "posix_right". ++# This option does not affect tzalloc-allocated objects. +# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" +# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; +# the default is system-supplied, typically "/usr/lib/locale" ++# -DTZ_RUNTIME_LEAPS=0 to disable runtime support for leap seconds. ++# This conforms to POSIX, shrinks tzcode's attack surface, ++# and is more efficient. However, it fails to support Internet ++# RFC 9636's leap seconds. +# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified - # DST transitions for proleptic format TZ strings lacking them, - # in the usual case where POSIXRULES is '-'. If not specified, - # TZDEFRULESTRING defaults to US rules for future DST transitions. ++# DST transitions for proleptic format TZ strings lacking them. ++# If not specified, it defaults to US rules for future DST transitions. +# This mishandles some past timestamps, as US DST rules have changed. +# It also mishandles settings like TZ='EET-2EEST' for eastern Europe, +# as Europe and US DST rules differ. +# -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 254) +# -DUNINIT_TRAP if reading uninitialized storage can cause problems +# other than simply getting garbage data +# -DUSE_LTZ=0 to build zdump with the system time zone library +# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +# -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and +# similarly for "slim". Fat TZif files work around incompatibilities +# and bugs in some TZif readers, notably older ones that +# ignore or otherwise mishandle 64-bit data in TZif files; +# however, fat TZif files may trigger bugs in newer TZif readers. +# Slim TZif files are more efficient, and are the default. +# -DZIC_MAX_ABBR_LEN_WO_WARN=3 +# (or some other number) to set the maximum time zone abbreviation length +# that zic will accept without a warning (the default is 6) +# -g to generate symbolic debugging info +# -Idir to include from directory 'dir' +# -O0 to disable optimization; other -O options to enable more optimization +# -Uname to remove any definition of the macro 'name' +# $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +# +# * Options marked "*" can be omitted if your compiler is C23 compatible. +# * Options marked "+" are obsolescent and are planned to be removed +# once the code assumes C99 or later (say in the year 2029) +# and POSIX.1-2024 or later (say in the year 2034). +# +# Select instrumentation via "make GCC_INSTRUMENT='whatever'". +GCC_INSTRUMENT = \ + -fsanitize=undefined -fsanitize-address-use-after-scope \ - -fsanitize-undefined-trap-on-error -fstack-protector ++ -fsanitize-trap=all -fstack-protector +# Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow. +GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \ + $(GCC_INSTRUMENT) \ + -Wall -Wextra \ + -Walloc-size-larger-than=100000 -Warray-bounds=2 \ + -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wcast-qual \ + -Wdate-time \ + -Wdeclaration-after-statement -Wdouble-promotion \ + -Wduplicated-branches -Wduplicated-cond -Wflex-array-member-not-at-end \ + -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ + -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op \ + -Wmissing-declarations -Wmissing-prototypes \ + -Wmissing-variable-declarations -Wnested-externs \ + -Wnull-dereference \ + -Wold-style-definition -Woverlength-strings -Wpointer-arith \ + -Wshadow -Wshift-overflow=2 -Wstrict-overflow \ + -Wstrict-prototypes -Wstringop-overflow=4 \ - -Wstringop-truncation -Wsuggest-attribute=cold \ ++ -Wsuggest-attribute=cold \ + -Wsuggest-attribute=const -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ + -Wtrampolines -Wundef -Wunused-macros -Wuse-after-free=3 \ + -Wvariadic-macros -Wvla -Wwrite-strings \ ++ -Wzero-as-null-pointer-constant \ + -Wno-format-nonliteral -Wno-sign-compare -Wno-type-limits +# +# If your system has a "GMT offset" field in its "struct tm"s +# (or if you decide to add such a field in your system's "time.h" file), +# add the name to a define such as +# -DTM_GMTOFF=tm_gmtoff +# to the end of the "CFLAGS=" line. If not defined, the code attempts to +# guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. +# Similarly, if your system has a "zone abbreviation" field, define +# -DTM_ZONE=tm_zone +# and define NO_TM_ZONE to suppress any guessing. +# Although POSIX.1-2024 requires these fields and they are widely available +# on GNU/Linux and BSD systems, some older systems lack them. +# +# The next batch of options control support for external variables +# exported by tzcode. In practice these variables are less useful +# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. +# # +# # To omit or support the external variable "tzname", add one of: +# # -DHAVE_TZNAME=0 # do not support "tzname" +# # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library +# # -DHAVE_TZNAME=2 # support and define "tzname" +# # to the "CFLAGS=" line. Although "tzname" is required by POSIX.1-1988 +# # and later, its contents are unspecified if you use a geographical TZ +# # and the variable is planned to be removed in a future POSIX edition. +# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. +# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause +# # crashes when combined with some platforms' standard libraries, +# # presumably due to memory allocation issues. +# # +# # To omit or support the external variables "timezone" and "daylight", add +# # -DUSG_COMPAT=0 # do not support +# # -DUSG_COMPAT=1 # support, and variables are defined by system library +# # -DUSG_COMPAT=2 # support and define variables +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI), +# # although their contents are unspecified if you use a geographical TZ +# # and the variables are planned to be removed in a future edition of POSIX. +# # If not defined, the code attempts to guess USG_COMPAT from other macros. +# # +# # To support the external variable "altzone", add +# # -DALTZONE=0 # do not support +# # -DALTZONE=1 # support "altzone", which is defined by system library +# # -DALTZONE=2 # support and define "altzone" +# # to the end of the "CFLAGS=" line; although "altzone" appeared in +# # System V Release 3.1 it has not been standardized. +# # If not defined, the code attempts to guess ALTZONE from other macros. +# +# If you want functions that were inspired by early versions of X3J11's work, +# add +# -DSTD_INSPIRED +# to the end of the "CFLAGS=" line. This arranges for the following +# functions to be added to the time conversion library. +# "offtime" is like "gmtime" except that it accepts a second (long) argument +# that gives an offset to add to the time_t when converting it. - # I.e., "offtime" is like calling "localtime_rz" with a fixed-offset zone. ++# "offtime_r" is to "offtime" what "gmtime_r" is to "gmtime". ++# I.e., "offtime" and "offtime_r" are like calling "localtime_rz" ++# with a fixed-offset zone. +# "timelocal" is nearly equivalent to "mktime". +# "timeoff" is like "timegm" except that it accepts a second (long) argument +# that gives an offset to use when converting to a time_t. +# I.e., "timeoff" is like calling "mktime_z" with a fixed-offset zone. +# "posix2time" and "time2posix" are described in an included manual page. +# X3J11's work does not describe any of these functions. +# These functions may well disappear in future releases of the time +# conversion package. +# +# If you don't want functions that were inspired by NetBSD, add +# -DNETBSD_INSPIRED=0 +# to the end of the "CFLAGS=" line. Otherwise, the functions +# "localtime_rz", "mktime_z", "tzalloc", and "tzfree" are added to the +# time library, and if STD_INSPIRED is also defined to nonzero the functions +# "posix2time_z" and "time2posix_z" are added as well. +# The functions ending in "_z" (or "_rz") are like their unsuffixed +# (or suffixed-by-"_r") counterparts, except with an extra first +# argument of opaque type timezone_t that specifies the timezone. +# "tzalloc" allocates a timezone_t value, and "tzfree" frees it. +# +# If you want to allocate state structures in localtime, add +# -DALL_STATE +# to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. +# +# NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put +# out by the National Institute of Standards and Technology +# which claims to test C and POSIX conformance. If you want to pass PCTS, add +# -DPCTS +# to the end of the "CFLAGS=" line. +# +# If you want strict compliance with XPG4 as of 1994-04-09, add +# -DXPG4_1994_04_09 +# to the end of the "CFLAGS=" line. This causes "strftime" to always return +# 53 as a week number (rather than 52 or 53) for January days before +# January's first Monday when a "%V" format is used and January 1 +# falls on a Friday, Saturday, or Sunday. +# +# POSIX says CFLAGS defaults to "-O 1". +# Uncomment the following line and edit its contents as needed. + +#CFLAGS= -O 1 + + +# The name of a POSIX-like library archiver, its flags, C compiler, +# linker flags, and 'make' utility. Ordinarily the defaults suffice. +# The commented-out values are the defaults specified by POSIX.1-2024. +#AR = ar +#ARFLAGS = -rv +#CC = c17 +#LDFLAGS = +#MAKE = make + +# Where to fetch leap-seconds.list from. +leaplist_URI = \ + https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list +# The file is generated by the IERS Earth Orientation Centre, in Paris. +leaplist_TZ = Europe/Paris ++# ++# To fetch leap-seconds.list from NIST via a less-secure protocol ++# and with less-volatile metadata, use these settings: ++#leaplist_URI = ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list ++#leaplist_TZ = America/Denver + +# The zic command and its arguments. + +zic= ./zic +ZIC= $(zic) $(ZFLAGS) + +# To shrink the size of installed TZif files, +# append "-r @N" to omit data before N-seconds-after-the-Epoch. +# To grow the files and work around bugs in older applications, +# possibly at the expense of introducing bugs in newer ones, +# append "-b fat"; see ZIC_BLOAT_DEFAULT above. +# See the zic man page for more about -b and -r. +ZFLAGS= + +# How to use zic to install TZif files. + +ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' + +# The name of a POSIX-compliant 'awk' on your system. +# mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work. +# Also, it is better (though not essential) if 'awk' supports UTF-8, +# and unfortunately mawk and busybox awk do not support UTF-8. +# Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems. +AWK= awk + +# The full path name of a POSIX-compliant shell, preferably one that supports +# the Korn shell's 'select' statement as an extension. +# These days, Bash is the most popular. +# It should be OK to set this to /bin/sh, on platforms where /bin/sh +# lacks 'select' or doesn't completely conform to POSIX, but /bin/bash +# is typically nicer if it works. +KSHELL= /bin/bash + +# Name of curl , used for HTML validation +# and to fetch leap-seconds.list from upstream. +# Set CURL=: to disable use of the Internet. +CURL= curl + +# Name of GNU Privacy Guard , used to sign distributions. +GPG= gpg + +# This expensive test requires USE_LTZ. +# To suppress it, define this macro to be empty. +CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives + +# SAFE_CHAR is a regular expression that matches a safe character. +# Some parts of this distribution are limited to safe characters; +# others can use any UTF-8 character. +# For now, the safe characters are a safe subset of ASCII. +# The caller must set the shell variable 'sharp' to the character '#', +# since Makefile macros cannot contain '#'. +# TAB_CHAR is a single tab character, in single quotes. +TAB_CHAR= ' ' +SAFE_CHARSET1= $(TAB_CHAR)' !\"'$$sharp'$$%&'\''()*+,./0123456789:;<=>?@' +SAFE_CHARSET2= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`' +SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~' +SAFE_CHARSET= $(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3) +SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]' + - # These non-alphabetic, non-ASCII printable characters are Latin-1, - # and so are likely displayable even in editors like XEmacs 21 - # that have limited display capabilities. - UNUSUAL_OK_LATIN_1 = ¡¢£¤¥¦§¨©«¬®¯°±²³´¶·¸¹»¼½¾¿×÷ - # Non-ASCII non-letters that OK_CHAR allows, as these characters are - # useful in commentary. - UNUSUAL_OK_CHARSET= $(UNUSUAL_OK_LATIN_1) ++# These non-alphabetic, non-ASCII printable characters are ++# used in commentary or in generated *.txt files ++# and are not likely to cause confusion. ++UNUSUAL_OK_CHARSET= §«°±»½¾×–‘’“”•→−≤★⟨⟩⯪ + +# Put this in a bracket expression to match spaces. +s = [:space:] + +# OK_CHAR matches any character allowed in the distributed files. +# This is the same as SAFE_CHAR, except that UNUSUAL_OK_CHARSET and +# multibyte letters are also allowed so that commentary can contain a +# few safe symbols and people's names and can quote non-English sources. - # Other non-letters are limited to ASCII renderings for the - # convenience of maintainers using XEmacs 21.5.34, which by default - # mishandles Unicode characters U+0100 and greater. +OK_CHAR= '[][:alpha:]$(UNUSUAL_OK_CHARSET)'$(SAFE_CHARSET)'-]' + +# SAFE_LINE matches a line of safe characters. +# SAFE_SHARP_LINE is similar, except any OK character can follow '#'; +# this is so that comments can contain non-ASCII characters. +# OK_LINE matches a line of OK characters. +SAFE_LINE= '^'$(SAFE_CHAR)'*$$' +SAFE_SHARP_LINE='^'$(SAFE_CHAR)'*('$$sharp$(OK_CHAR)'*)?$$' +OK_LINE= '^'$(OK_CHAR)'*$$' + +# Flags to give 'tar' when making a distribution. +# Try to use flags appropriate for GNU tar. +GNUTARFLAGS= --format=pax --pax-option=delete=atime,delete=ctime \ + --numeric-owner --owner=0 --group=0 \ + --mode=go+u,go-w --sort=name +SETUP_TAR= \ + export LC_ALL=C && \ + if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; then \ + TAR='tar $(GNUTARFLAGS)'; \ + else \ + TAR=tar; \ + fi + +# Flags to give 'gzip' when making a distribution. +GZIPFLAGS= -9n + +# When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported. +# This makes it easier to see which Zone has been affected. +SETUP_DIFF_TZS = \ + if diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1; then \ + DIFF_TZS='diff -u -F^TZ='; \ + else \ + DIFF_TZS='diff -u'; \ + fi + +# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. +RANLIB= : + +# POSIX prohibits defining or using SHELL. However, csh users on systems +# that use the user shell for Makefile commands may need to define SHELL. +#SHELL= /bin/sh + +# End of macros that one plausibly might want to tailor. +############################################################################### + + +TZCOBJS= zic.o +TZDOBJS= zdump.o localtime.o strftime.o +DATEOBJS= date.o localtime.o strftime.o +LIBSRCS= localtime.c asctime.c difftime.c strftime.c +LIBOBJS= localtime.o asctime.o difftime.o strftime.o +HEADERS= tzfile.h private.h +NONLIBSRCS= zic.c zdump.c +NEWUCBSRCS= date.c +SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) \ + tzselect.ksh workman.sh +MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \ + tzfile.5 tzselect.8 zic.8 zdump.8 +MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +COMMON= calendars CONTRIBUTING LICENSE Makefile \ + NEWS README SECURITY theory.html version +WEB_PAGES= tz-art.html tz-how-to.html tz-link.html +CHECK_WEB_PAGES=theory.ck tz-art.ck tz-how-to.ck tz-link.ck +DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) +PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +YDATA= $(PRIMARY_YDATA) etcetera +NDATA= factory +TDATA_TO_CHECK= $(YDATA) $(NDATA) backward +TDATA= $(YDATA) $(NDATA) $(BACKWARD) +ZONETABLES= zone.tab zone1970.tab zonenow.tab +TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) +LEAP_DEPS= leapseconds.awk leap-seconds.list +TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) \ + $(PACKRATDATA) $(PACKRATLIST) +DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA) $(PACKRATLIST) +DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \ + leapseconds $(ZONETABLES) +AWK_SCRIPTS= checklinks.awk checknow.awk checktab.awk leapseconds.awk \ + ziguard.awk zishrink.awk +MISC= $(AWK_SCRIPTS) +TZS_YEAR= 2050 +TZS_CUTOFF_FLAG= -c $(TZS_YEAR) +TZS= to$(TZS_YEAR).tzs +TZS_NEW= to$(TZS_YEAR)new.tzs +TZS_DEPS= $(YDATA) localtime.c private.h \ + strftime.c tzfile.h zdump.c zic.c +TZDATA_DIST = $(COMMON) $(DATA) $(MISC) +# EIGHT_YARDS is just a yard short of the whole ENCHILADA. +EIGHT_YARDS = $(TZDATA_DIST) $(DOCS) $(SOURCES) tzdata.zi +ENCHILADA = $(EIGHT_YARDS) $(TZS) + +# Consult these files when deciding whether to rebuild the 'version' file. +# This list is not the same as the output of 'git ls-files', since +# .gitignore is not distributed. +VERSION_DEPS= \ + calendars CONTRIBUTING LICENSE Makefile NEWS README SECURITY \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checknow.awk checktab.awk \ + date.1 date.c difftime.c \ + etcetera europe factory iso3166.tab \ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + private.h southamerica strftime.c theory.html \ + time2posix.3 tz-art.html tz-how-to.html tz-link.html \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh zdump.8 zdump.c zic.8 zic.c \ + ziguard.awk zishrink.awk \ + zone.tab zone1970.tab zonenow.tab + +all: tzselect zic zdump libtz.a $(TABDATA) \ + vanguard.zi main.zi rearguard.zi + +ALL: all date $(ENCHILADA) + +install: all $(DATA) $(REDO) $(MANS) + mkdir -p '$(DESTDIR)$(BINDIR)' \ + '$(DESTDIR)$(ZDUMPDIR)' '$(DESTDIR)$(ZICDIR)' \ + '$(DESTDIR)$(LIBDIR)' \ + '$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \ + '$(DESTDIR)$(MANDIR)/man8' + $(ZIC_INSTALL) -l $(LOCALTIME) \ - -p $(POSIXRULES) \ + -t '$(DESTDIR)$(TZDEFAULT)' + cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.' + cp tzselect '$(DESTDIR)$(BINDIR)/.' + cp zdump '$(DESTDIR)$(ZDUMPDIR)/.' + cp zic '$(DESTDIR)$(ZICDIR)/.' + cp libtz.a '$(DESTDIR)$(LIBDIR)/.' + $(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a' + cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.' + cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.' + cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.' + +INSTALL: ALL install date.1 + mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' + cp date '$(DESTDIR)$(BINDIR)/.' + cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.' + +# Calculate version number from git, if available. +# Otherwise, use $(VERSION) unless it is "unknown" and there is already +# a 'version' file, in which case reuse the existing 'version' contents +# and append "-dirty" if the contents do not already end in "-dirty". +version: $(VERSION_DEPS) + { (type git) >/dev/null 2>&1 && \ + V=$$(git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ + --abbrev=7 --dirty) || \ + if test '$(VERSION)' = unknown && read -r V <$@; then \ + V=$${V%-dirty}-dirty; \ + else \ + V='$(VERSION)'; \ + fi; } && \ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + +# These files can be tailored by setting BACKWARD, PACKRATDATA, PACKRATLIST. +vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) + $(AWK) \ + -v DATAFORM=$(@:.zi=) \ + -v PACKRATDATA='$(PACKRATDATA)' \ + -v PACKRATLIST='$(PACKRATLIST)' \ + -f ziguard.awk \ + $(TDATA) $(PACKRATDATA) >$@.out + mv $@.out $@ +# This file has a version comment that attempts to capture any tailoring +# via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO. +tzdata.zi: $(DATAFORM).zi version zishrink.awk + read -r version $@.out + mv $@.out $@ + +tzdir.h: + printf '%s\n' >$@.out \ + '#ifndef TZDEFAULT' \ + '# define TZDEFAULT "$(TZDEFAULT)" /* default zone */' \ + '#endif' \ + '#ifndef TZDIR' \ + '# define TZDIR "$(TZDIR)" /* TZif directory */' \ + '#endif' + mv $@.out $@ + +version.h: version + read -r VERSION $@.out + mv $@.out $@ + +zdump: $(TZDOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) + +zic: $(TZCOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) + +leapseconds: $(LEAP_DEPS) + $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \ + -f leapseconds.awk leap-seconds.list >$@.out + mv $@.out $@ + +# Awk script to extract a Git-style author from leap-seconds.list comments. +EXTRACT_AUTHOR = \ + author_line { sub(/^.[[:space:]]*/, ""); \ + sub(/:[[:space:]]*/, " <"); \ + printf "%s>\n", $$0; \ + success = 1; \ + exit \ + } \ + /Questions or comments to:/ { author_line = 1 } \ + END { exit !success } + +# Fetch leap-seconds.list from upstream. +fetch-leap-seconds.list: + $(CURL) -OR $(leaplist_URI) + +# Fetch leap-seconds.list from upstream and commit it to the local repository. +commit-leap-seconds.list: fetch-leap-seconds.list + author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ + date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ + git commit --author="$$author" --date="$$date" -m'make $@' \ + leap-seconds.list + +# Arguments to pass to submakes. +# They can be overridden by later submake arguments. +INSTALLARGS = \ + BACKWARD='$(BACKWARD)' \ + DESTDIR='$(DESTDIR)' \ + PACKRATDATA='$(PACKRATDATA)' \ + PACKRATLIST='$(PACKRATLIST)' \ + TZDEFAULT='$(TZDEFAULT)' \ + TZDIR='$(TZDIR)' \ + ZIC='$(ZIC)' + +INSTALL_DATA_DEPS = zic leapseconds tzdata.zi + +posix_only: $(INSTALL_DATA_DEPS) + $(ZIC_INSTALL) tzdata.zi + +right_only: $(INSTALL_DATA_DEPS) + $(ZIC_INSTALL) -L leapseconds tzdata.zi + +# In earlier versions of this makefile, the other two directories were +# subdirectories of $(TZDIR). However, this led to configuration errors. +# For example, with posix_right under the earlier scheme, +# TZ='right/Australia/Adelaide' got you localtime with leap seconds, +# but gmtime without leap seconds, which led to problems with applications +# like sendmail that subtract gmtime from localtime. +# Therefore, the other two directories are now siblings of $(TZDIR). +# You must replace all of $(TZDIR) to switch from not using leap seconds +# to using them, or vice versa. +right_posix: right_only + rm -fr '$(DESTDIR)$(TZDIR)-leaps' + ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \ + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only + +posix_right: posix_only + rm -fr '$(DESTDIR)$(TZDIR)-posix' + ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \ + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only + $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only + +zones: $(REDO) + +# dummy.zd is not a real file; it is mentioned here only so that the +# top-level 'make' does not have a syntax error. +ZDS = dummy.zd +# Rule used only by submakes invoked by the $(TZS_NEW) rule. +# It is separate so that GNU 'make -j' can run instances in parallel. +$(ZDS): zdump + ./zdump -i $(TZS_CUTOFF_FLAG) "$$PWD/$(@:.zd=)" >$@ + +TZS_NEW_DEPS = tzdata.zi zdump zic +$(TZS_NEW): $(TZS_NEW_DEPS) + rm -fr tzs$(TZS_YEAR).dir + mkdir tzs$(TZS_YEAR).dir + $(zic) -d tzs$(TZS_YEAR).dir tzdata.zi + $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ + tzdata.zi | LC_ALL=C sort >$@.out + x=$$($(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \ + tzdata.zi \ + | LC_ALL=C sort -t . -k 2,2) && \ + set x $$x && \ + shift && \ + ZDS=$$* && \ + $(MAKE) TZS_CUTOFF_FLAG="$(TZS_CUTOFF_FLAG)" \ + ZDS="$$ZDS" $$ZDS && \ + sed 's,^TZ=".*\.dir/,TZ=",' $$ZDS >>$@.out + rm -fr tzs$(TZS_YEAR).dir + mv $@.out $@ + +# If $(TZS) exists but 'make tzs.ck' fails, a maintainer should inspect the *** 1838 LINES SKIPPED *** From nobody Wed Mar 11 12:28:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fW95s0PCgz6V602; Wed, 11 Mar 2026 12:28:49 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fW95r6yTqz43Yx; Wed, 11 Mar 2026 12:28:48 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773232129; 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=mjEBDVfahUx8rfxaEyl256KX/MzSOdRmatboVocIXeI=; b=gOKOKmrTMC5d26hw9SBe1X4WbxtdMCIMNY+HBYZfouAfV/evb9mRXdFFbUk0ZXBmv2AxJv slIgfqd2NePz2BN+SDYQ306MR/wR+NZT+LayQ88thab3RjVStJAkFZImfOPZ9to9uBBYD5 jwJBCXdmzO0aIpp7DajH3VNVhViyYKidD0PieAblr7iyca7PLPprzafKrpW7y+UpXbOgcU 3qcFq5ey9A1LnhkabMoUBU20DgRLmlsPtVTjKWJkAf0SK6l5KBM9kdE93zChvdleOTn4ke Y+W6Gpcq/idX1G3thdo/WbWJ0aMO1xM3airnHNXxFQW4Tk1Z6180p8rF3rSr3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773232129; a=rsa-sha256; cv=none; b=RtxmFMGxXGUa0SUQ3GB+LWf9Kv0CSh6zapNgSadCpxDjOztF8EXlUoTJ77m3KVU8ZjW27R zTfaqZTDSLurcx+N7vnew1SYo0oCER+4qeeeeVvIfacDM2rVnX5ASTsqZs52Z4vmyZBr5P 7Km4xUhsXDtJ191NQwsm8xTAD9jexXc8rdjJh24SFKbKlPvjOOjuP84IDT6k85Mfl/BAxF 4eQoOvUEUiwWbvvykS4jfMEstjG4jbyPj0hwqYCw+UwIXL0Xq8tLsPtDwTAGjqKcRwKaHf RunAweuh6Jrn/AXG3ko1kjr5uNuCXSJnDjNbx5px/iAAGqKQwvYh668VJNi7Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773232129; 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=mjEBDVfahUx8rfxaEyl256KX/MzSOdRmatboVocIXeI=; b=pRT3hENk9M2U/7pgPuJSUG6T+hQqPUoyStvmyoP0TWYJg9Aw57BdC4LOKifB1ozyvjMcI5 tl3MaUaRXEEvxPDqONHR7c47uR+H1NLwlF2uQhFzaX1E96GyUIKrtxNnmBjXTfgkqGjGuK waX07DQV8endiwuskug0dAnWKpBaVeZu8EElNnF5xmUJXbMl7Ke309WCC1EKFqe0tXnZAz PA4SSt/adylpP547Z5PtloeoOulQBQG7lvCgMjaEdkIVosh88amb/07CXEKCpM17UzMrg/ UNfalVXwhQC8C+v4aBanubOYRcpxHzAjkfZ6Pngs2sSLTO68dZTJNQgUXOPryw== Received: from ltc.des.dev (2a01cb0585090500922e16fffef1acef.ipv6.abo.wanadoo.fr [IPv6:2a01:cb05:8509:500: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 4fW95r5XZVzPTB; Wed, 11 Mar 2026 12:28:48 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 629C81234DB; Wed, 11 Mar 2026 13:28:47 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Maste Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, Hans Rosenfeld Subject: Re: git: 2a514d377b37 - main - bhyve/virtio-scsi: Preallocate all I/O requests In-Reply-To: <86zf4igufb.fsf@ltc.des.dev> ("Dag-Erling =?utf-8?Q?Sm=C3=B8r?= =?utf-8?Q?grav=22's?= message of "Sun, 08 Mar 2026 17:25:28 +0100") References: <69a86c2c.3eae0.6544adfe@gitrepo.freebsd.org> <86zf4igufb.fsf@ltc.des.dev> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 11 Mar 2026 13:28:47 +0100 Message-ID: <86bjguh7nk.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 Dag-Erling Sm=C3=B8rgrav writes: > Ed Maste writes: > > + assert(iov_to_buf(req->vsr_iov_in, req->vsr_niov_in, > > + (void **)&req->vsr_cmd_rd) =3D=3D VTSCSI_IN_HEADER_LEN(q->vsq_sc)= ); > This assertion breaks the gcc build. It's been a week since this was committed. It still hasn't been fixed and is causing Jenkins to nag everyone who commits anything to main. Please attend to it. As a reminder, you can install an alternate toolchain (e.g. amd64-gcc15) from ports or packages and run either make buildworld WITHOUT_TOOLCHAIN=3D1 CROSS_TOOLCHAIN=3Damd64-gcc15 to build world with that toolchain, or make buildenv CROSS_TOOLCHAIN=3Damd64-gcc15 to get a shell in which `make` will use that toolchain instead of the default. Simply running `make CROSS_TOOLCHAIN=3Damd64-gcc15` in `usr.sbin/bhyve` will not work; you need the full environment. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Wed Mar 11 12:58:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fW9mM2Npcz6V7jL; Wed, 11 Mar 2026 12:58:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fW9mL6qLyz475K; Wed, 11 Mar 2026 12:58:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773233923; 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=6JJiPYPEPYE9QEy6Mn1krK3K3Hdt+lND8oZmyxxuvh4=; b=QjzQ6Y1GQnkCgBaeCak0aZnSAMhGVPcV/70SO+HvKiSKF2qho0E1Caxm/7CRuRiFVV49vz gHMNknrL5UiOXMoevjCip7SMlwfeXf3iFL/cMrn/zJkzE7WhwmvWQBZ2HCjvjmmv2WNLTC G+B8Fn1HFfU7sVTHEJU3dFEO/tKgLvpHV8dpZpPzQycIdyO48dK5CEvCXNNOYS2mCMji0K m9P65q5XAkUEhLwx1VoZBXobNjyWvbUhHRZXRCZmhllV4UFJDjDXCVv0RuZBz/5Vxcjrpk 5JFqgr4iSl5d+cLlcoq7Xiq+wTa6vzLUbJn/RMkROLfIJyJGEZiP5adiv0TuGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773233923; a=rsa-sha256; cv=none; b=kqX02tqNbQhgZzNwhMYE1wx5ZLVonyj0tJnkhT3BHPGYLWl1Gylj9VdjbGdC3iCMwHVqDK MAKXwnpIsaP5ZaSxLlPLmCWD9XHxAQm5B+2MyUyAuTiJOwHkFMGKY8zTJC+ULa6yKHReJU /EQ3vR9A267+1I8O/gxSpF5fFMAvAkNG5pzC4vg850WY1rOdmAJUxsaQz16lmfpujldf2X cG8wsZschsObartHaNMRNQOa5QB877Al8CIc7KMuQtQzbuolkuHlOjmlhAjbu72opagS17 wShq5Ogz1IcA/CjD0BhPN0alR+NxI7epptoPJyfle2Zx/T3HZMyQgxjmhZzp8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773233923; 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=6JJiPYPEPYE9QEy6Mn1krK3K3Hdt+lND8oZmyxxuvh4=; b=MSbbKOeinwXK8BKUC4udga71oth3m+nw9vDyLRp4eQhOR5K5t0+bAwa9rQBZ/zOHnE+9MT LpjbF/1TasQ7PrxEStf5GCVa7p2EqLdzkX1kNRfKGCyIZUbmsqv5462UhaLvlldNsivRJq IsRIqjPgkRNxfTy4nimXmYJl1E39yYKVlSK/dRRvz4YTgKU4tgL1bHly4W32VdCeykyfNd yAyL29ipCkgnA8il2djxnSCPyY3/wr8Do/7Meq1O7wwR36v2E6VYsCzf9EoCYpLG2FmFBl AT6sBkAVFf+ziHhnE/wwdVl/95imaWYIWNPh28hygFbQA/GBDQzHPlbhpVOzuQ== Received: from [IPV6:2601:5c0:4202:5670:41db:1f31:9abb:a71c] (unknown [IPv6:2601:5c0:4202:5670:41db:1f31:9abb:a71c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fW9mL4LnPzNCP; Wed, 11 Mar 2026 12:58:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <2da8e812-9e49-48c2-92e2-d421f74c178e@FreeBSD.org> Date: Wed, 11 Mar 2026 08:58:41 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 2a514d377b37 - main - bhyve/virtio-scsi: Preallocate all I/O requests Content-Language: en-US To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , Ed Maste Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, Hans Rosenfeld References: <69a86c2c.3eae0.6544adfe@gitrepo.freebsd.org> <86zf4igufb.fsf@ltc.des.dev> <86bjguh7nk.fsf@ltc.des.dev> From: John Baldwin In-Reply-To: <86bjguh7nk.fsf@ltc.des.dev> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 3/11/26 08:28, Dag-Erling Smørgrav wrote: > Dag-Erling Smørgrav writes: >> Ed Maste writes: >>> + assert(iov_to_buf(req->vsr_iov_in, req->vsr_niov_in, >>> + (void **)&req->vsr_cmd_rd) == VTSCSI_IN_HEADER_LEN(q->vsq_sc)); >> This assertion breaks the gcc build. > > It's been a week since this was committed. It still hasn't been fixed > and is causing Jenkins to nag everyone who commits anything to main. > Please attend to it. > > As a reminder, you can install an alternate toolchain (e.g. amd64-gcc15) > from ports or packages and run either > > make buildworld WITHOUT_TOOLCHAIN=1 CROSS_TOOLCHAIN=amd64-gcc15 > > to build world with that toolchain, or > > make buildenv CROSS_TOOLCHAIN=amd64-gcc15 > > to get a shell in which `make` will use that toolchain instead of the > default. Simply running `make CROSS_TOOLCHAIN=amd64-gcc15` in > `usr.sbin/bhyve` will not work; you need the full environment. There are fixes in active review (I commented on the reviews yesterday). -- John Baldwin From nobody Wed Mar 11 13:38:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWBfS1ddTz6VBKH for ; Wed, 11 Mar 2026 13:38:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWBfS104kz4Dwq for ; Wed, 11 Mar 2026 13:38:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773236320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2vvQvt3ukKY1eoqDM9dfqyzKDOkXSYzAYenzYe1qpSw=; b=gzkxKRk8JZOMaXuzyCXFIVczlof+qD0Ly6Jy0ZqzG3D/W1HUDKfNx64YEdOuEz4E0b7Lw7 Vn8pPET0AKkwjYMBFAv0otNVIeEQTSoMmpH9lZo4yUDJCxsQiQ5cN9gXP7lTy1IvtKCNu7 49KgfTU9DRLBZ/XmWQvty3AkKdBkmfuvpQ2sR0QTiUR6+CdyknQjboucXj9JGI7MuAIoPX AxzgXBZm7u0oUEyJdwIDkcAvIFxvjByItBanFr+JogwVnixdx3tzbmn2PwITLLxiU0t96R R1mmgYOBMZLVSxArGNQ4EjBXwHn1JTzp/e2vfugm3xrnYwB+TtBdu7HHBgZr0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773236320; a=rsa-sha256; cv=none; b=iE8r/Nb4cgCKTEwNMPr2jFMknUwT+UvmxFDWOdqxKrc49R0BOKiCUWEWYTVkCqEpBhFuBN FCopY4MlD76HKxOnF4tcT4X5UzLQ/8f6HO1WvPWV86pDrR1gCaPdESzJIji400iaQ6MrsF 24eBN0H5VLCzbU1srhOMo2FYpRPeSY+FqAzRUW6JQDV4AqbucTvctFEj/un9tPEG6WuPG8 F/4pgfc8TJKpHKdKOEc3tjVaos07WNWxa/D5zx7TwjqggvjXhXkbWj2CEDnvd+eKcpEZ+o u/T/mTNMyCGPliw6XkUy4sh4yWSE7HIbsroWSFY9XD+7O9MTZU0MUka6vD5x2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773236320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2vvQvt3ukKY1eoqDM9dfqyzKDOkXSYzAYenzYe1qpSw=; b=BSq/TdRxumXVxCKc+LuLPcudezlwWMgEeSTfhE8QtMLPULo3Bx0EzN24HU6Ghk5SiA7ljP Gv4S6O8h4UvKBpHJU0ozYQ1nlTqI3EhilNUc9c8oDQdj+bDbLr7GSK4Bwa+bMWiOvpJPm3 Px8SGjd/YYfWWthHymWdmEAaBG3ELnrb+s+dTKKVhHQbFWR+KnZSgYR7+aa8xThY3nr47J Ol4SxjrX0t2KENclI3qcRtvkSi8hxCsWn8rj6ugCmHvdbcio29SKmGoBk/azE7uCgqbxp5 4uauIvvW6MtcMoLE2oF6P0phu+Q6vfvKGG6pRzzrJc1qrlnAST2FAL1wdYHZfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWBfS0JQcz11dY for ; Wed, 11 Mar 2026 13:38:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24a4c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 13:38:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: e71bfbe2f58f - main - llvm-*: Use SYMLINKS for unprefixed LLVM binutils List-Id: Commit messages for the main 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: e71bfbe2f58ffff8f16a9da075d98fff41671bac Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 13:38:39 +0000 Message-Id: <69b1705f.24a4c.61c52bd9@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e71bfbe2f58ffff8f16a9da075d98fff41671bac commit e71bfbe2f58ffff8f16a9da075d98fff41671bac Author: Ed Maste AuthorDate: 2026-03-06 17:52:15 +0000 Commit: Ed Maste CommitDate: 2026-03-11 13:37:05 +0000 llvm-*: Use SYMLINKS for unprefixed LLVM binutils Previously they were hard links. This change will support future packaging changes by decoupling the prefixed (e.g. llvm-ar) and unprefixed (e.g. ar) names. Reviewed by: dim, ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55693 --- usr.bin/clang/llvm-ar/Makefile | 3 ++- usr.bin/clang/llvm-cov/Makefile | 2 +- usr.bin/clang/llvm-cxxfilt/Makefile | 2 +- usr.bin/clang/llvm-nm/Makefile | 2 +- usr.bin/clang/llvm-objcopy/Makefile | 4 ++-- usr.bin/clang/llvm-objdump/Makefile | 2 +- usr.bin/clang/llvm-readobj/Makefile | 2 +- usr.bin/clang/llvm-size/Makefile | 2 +- usr.bin/clang/llvm-symbolizer/Makefile | 2 +- 9 files changed, 11 insertions(+), 10 deletions(-) diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index e019c89b3581..ee776a7c0d9e 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -11,7 +11,8 @@ SRCS+= llvm-ar.cpp LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/ar ${BINDIR}/llvm-ar ${BINDIR}/ranlib +SYMLINKS+= llvm-ar ${BINDIR}/ar +SYMLINKS+= llvm-ranlib ${BINDIR}/ranlib MLINKS+= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 .endif diff --git a/usr.bin/clang/llvm-cov/Makefile b/usr.bin/clang/llvm-cov/Makefile index 3eb14eb37139..3c02d4b7d144 100644 --- a/usr.bin/clang/llvm-cov/Makefile +++ b/usr.bin/clang/llvm-cov/Makefile @@ -1,7 +1,7 @@ .include PROG_CXX= llvm-cov -LINKS= ${BINDIR}/llvm-cov ${BINDIR}/gcov +SYMLINKS= llvm-cov ${BINDIR}/gcov MLINKS= llvm-cov.1 gcov.1 SRCDIR= llvm/tools/llvm-cov diff --git a/usr.bin/clang/llvm-cxxfilt/Makefile b/usr.bin/clang/llvm-cxxfilt/Makefile index f53503378ea8..26a5d9e8975d 100644 --- a/usr.bin/clang/llvm-cxxfilt/Makefile +++ b/usr.bin/clang/llvm-cxxfilt/Makefile @@ -23,7 +23,7 @@ DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-cxxfilt ${BINDIR}/c++filt +SYMLINKS= llvm-cxxfilt ${BINDIR}/c++filt MLINKS= llvm-cxxfilt.1 c++filt.1 .endif diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index 7e089d1b408d..333513246cb6 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -24,7 +24,7 @@ DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-nm ${BINDIR}/nm +SYMLINKS+= llvm-nm ${BINDIR}/nm MLINKS+= llvm-nm.1 nm.1 .endif diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index fcf59e4b4bca..13bbab97899f 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -27,8 +27,8 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \ - ${BINDIR}/llvm-strip ${BINDIR}/strip +SYMLINKS+= llvm-objcopy ${BINDIR}/objcopy \ + llvm-strip ${BINDIR}/strip MLINKS= llvm-objcopy.1 objcopy.1 \ llvm-objcopy.1 strip.1 .endif diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index ad1c7beee95f..86281217ee0a 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -29,7 +29,7 @@ DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -LINKS= ${BINDIR}/llvm-objdump ${BINDIR}/objdump +SYMLINKS= llvm-objdump ${BINDIR}/objdump MLINKS= llvm-objdump.1 objdump.1 .include "../llvm.prog.mk" diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile index f532358ea79e..3f705431e509 100644 --- a/usr.bin/clang/llvm-readobj/Makefile +++ b/usr.bin/clang/llvm-readobj/Makefile @@ -36,7 +36,7 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS+= ${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-readelf ${BINDIR}/readelf +SYMLINKS+= llvm-readelf ${BINDIR}/readelf MLINKS+= llvm-readelf.1 readelf.1 .endif diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile index 9d3505cdd319..1991065b61b2 100644 --- a/usr.bin/clang/llvm-size/Makefile +++ b/usr.bin/clang/llvm-size/Makefile @@ -24,7 +24,7 @@ DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-size ${BINDIR}/size +SYMLINKS+= llvm-size ${BINDIR}/size MLINKS+= llvm-size.1 size.1 .endif diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index c45300c92a90..1a3a65c774c9 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -26,7 +26,7 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line .if ${MK_LLVM_BINUTILS} != "no" -LINKS+= ${BINDIR}/llvm-symbolizer ${BINDIR}/addr2line +SYMLINKS+= llvm-addr2line ${BINDIR}/addr2line MLINKS+= llvm-addr2line.1 addr2line.1 .endif From nobody Wed Mar 11 14:39:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWD0F6jPgz6VGdN for ; Wed, 11 Mar 2026 14:39: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWD0F65sqz4Qbf for ; Wed, 11 Mar 2026 14:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773239949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=96oXSKpx0us9dPWt9oXe8jmHPYrPLZiAQRljzIpv0YE=; b=jFQPvZxX271gU4ey8RAA+5eFVScX6HlOZB6NKpTLUVP163n+XwrqVEVkFghPa/h9oOq1R7 4nHGQJ/o30qIRP1auL6PEwMXSC7LU2zu2UtmrqmZ2oTiFHkg0v0eqtM2uq+w99DbBLEuwH FBvf7UQywMod2wOrgOEI0BgchNZhFdiIWmlf/pvvT1Wc8PML8chJm/SJ01GtNYZEFGQfuh MnKB91ncG7NkcD0GJ4FMGFJn19vxaqLepYYz2BjZvIyTClX8rCYrlnFoODoQpl/2Pk2/7I wuSjFasSJo5Px0gfoqbekDS27cs8HlN4qOpG75vhhZLdQihPwsNr/mNywzZsnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773239949; a=rsa-sha256; cv=none; b=iheeTmrv21H5QBA8CYGGZcIbKyN4XjAno6im7G+h4PsCgf4MpjzMpMB2z9tD7VZS+b0sP2 kgw4GhZ07N2BRS7RDB6jxMqzmdTv6d1Za0rMx6Q8UFEkJjmlbK+gr0sHK0Qkg2NU6DtaCH 3iDpt26CdmAx/XdKxF45furLCEhfatXMoFcq0p8HpK5zKR8eKcMcHcN+PfNqnS4vNiO9Ej vWD3QEIvDXHBHL+MhZ1A5WJdh3NayvFnsY9RskwnDXIFjXAJHh3H7WVe+8S+x+hN4dbWtB q0Yg6MIE43nJ3s/T/eFVoUNU/oB6bvCAvm78B5seUMCPiEt5pnCr6dytFZkbYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773239949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=96oXSKpx0us9dPWt9oXe8jmHPYrPLZiAQRljzIpv0YE=; b=dujazo1lFpTx9aaV2T8SmYOzJV0s80Sh3YxtFDQJCEUmc60yYKD/ryHIhfrNeMFNC7AfLW X1v1YgC124mjfoGQVYADHPgnJGwB+NEKbX+vruY/rA06kA2ZSj7q/9bZRso7sm6cCi2L6F ged2RSTV6pnXalE4YR+F12eFY8H4g403k7SkTdNaeVEZTQnvARTj/hg58Ty2jJS5ptmRnw ETRv1slwLZfiB5b3TRdTr6Bu1yTeODJ+0apJrRIIPGLIzhvt8026QFeiy6G5P0fgPv8tqa eCC0c+KntOE+wxh30YZVyQE40UZI7GPAxaw3itieVQcYmTPQzQIaEuQoK+U6Uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWD0F5PNQz12wr for ; Wed, 11 Mar 2026 14:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3791a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 14:39:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 9da4a804f091 - main - sigreturn.2: refresh the man 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9da4a804f0916b24519b8baa7ed460a7ba23d8c8 Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 14:39:09 +0000 Message-Id: <69b17e8d.3791a.b59e630@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9da4a804f0916b24519b8baa7ed460a7ba23d8c8 commit 9da4a804f0916b24519b8baa7ed460a7ba23d8c8 Author: Konstantin Belousov AuthorDate: 2026-03-08 20:08:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-11 14:38:34 +0000 sigreturn.2: refresh the man page Remove mention of the longjmp(3), which does not use sigreturn. Try to be more precise when describing the syscall effects. Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D55750 --- lib/libsys/sigreturn.2 | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/libsys/sigreturn.2 b/lib/libsys/sigreturn.2 index 4effeaa5abc7..0e7bca507fc7 100644 --- a/lib/libsys/sigreturn.2 +++ b/lib/libsys/sigreturn.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 6, 2013 +.Dd March 11, 2026 .Dt SIGRETURN 2 .Os .Sh NAME @@ -47,17 +47,25 @@ The thread's signal mask and stack status are restored from the context structure pointed to by .Fa scp . The system call does not return; -the users stack pointer, frame pointer, argument pointer, -and processor status longword are restored from the context. -Execution resumes at the specified pc. -This system call is used by the trampoline code and -.Xr longjmp 3 +the whole userspace context as specified by +.Fa scp , +including the userspace stack pointer, all general-purpose registers, +coprocessor state, process status register, and program counter +are restored from the context. +Execution resumes at the program counter from the specified context. +.Pp +This system call is used by the kernel-provided signal trampoline code, +located in the virtual DSO (VDSO) on some architectures or as raw code +in the shared page if VDSO is not provided, when returning from a signal to the previously executing program. .Sh RETURN VALUES If successful, the system call does not return. -Otherwise, a value of -1 is returned and +Otherwise, a value of -1 may be returned, with .Va errno -is set to indicate the error. +set to indicate the error. +Some conditions detected by hardware result in the delivery of +a synchronous trap signal to the thread, in addition to or instead of +setting the system call error code. .Sh ERRORS The .Fn sigreturn From nobody Wed Mar 11 14:50:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWDF344kjz6VHPP for ; Wed, 11 Mar 2026 14:50:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWDF3276sz3DGl for ; Wed, 11 Mar 2026 14:50:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773240615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M2avOQFTxf+LQ62X03iP0WjbHycOnh8K+q7SghPFlWw=; b=GqHdl7k+lvzXeRPMorQ6vDuoIDpm5H+TQftgoGEuZwWtY643G+pPGn8Ei454fW0IqRpqmx gvcoDJjeZccdvn2s+UgRMkB3XG/ttGtQfyFTcsurMgKZzwnbOnYw0XDodAta4l3P2MybCI 4DfXXMqcIT4XIbWemrd/LRaPurm+q0KgUL+2bu89GTddanC+6Pf3vJLNSLBRhRyiUWOkn6 4mvIzGoPJ46IpjXvxftkmr/6/Zu1gumIZFNUA0CNclBXX2XS6UJ2+o++rRU+AYM8PTlT1h fOxVjh/sd/0jkV5J4qGMgZZbq48IRLIK0hAr7dGxW2zFBRip8r6QCghfQ4511Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773240615; a=rsa-sha256; cv=none; b=CDoT/kW3i+RZLo9Euky1+DHIPQXVlOvcFhSsF1+La39wkRHOUss83pdHL+eJxLph/zbDy1 eQx5ix1M04KRwdRDI5K7GTxWhJk2bJffVf2Vwya8RkOLxORIr8X+FhtSwR01QOZYp7vSPI y+/9zJeveig4PjijYhyqjmts3Itdcnpg4t7ObU7EuJ1U/7WSSX2pcaloY4BBkXKnIx4KVl 83fklUTYy0XnaU1mK2OisxGlEN6kY3dQpm1QtNBIR4q8C1j2/F7M/R3R+nAmBFdInhzsAH taPktvItrCQf5RnlaILvGodUc3MlvaJ76Ot7GiJHzvL15uavEABDgEHH7tdvig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773240615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M2avOQFTxf+LQ62X03iP0WjbHycOnh8K+q7SghPFlWw=; b=o8M/PYecXI/GBS44a00mYvV8jL7aOvuRou40xRDKawan+SZGuhY8K1eWjmZxJce9rNGDYY V/JuJHQOPe1MjW959dfxEySkheoTNdal1tsa9OMtplwn3iNdHFCsn+3p/jodMD0enA1+tF TG2teE+SZnwEmRpVhG/nYqIvk9n3Jip8sFfWVKEBzXkn9CENbb9ba4BrGKsz9YGRA++m5i ajPNjIYFT/aX/AvfKwKomxfvRSBlT17zG8z4pUqAqR4t83x/Wwv4T59n/C9Cq9n+j3YINv EFT1fzlzXqB2X+ThfFzgmZfetQSF9faQClDaP9WXn/Ip5cbPiuoZ0AsRKgXLQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWDF31b7qz13SL for ; Wed, 11 Mar 2026 14:50:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3980f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 14:50:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lorenzo Salvadore Subject: git: 738aea3387d8 - main - Calendars: Update status reports deadlines List-Id: Commit messages for the main 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: salvadore X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 738aea3387d831c95024fd28076dadde132ceaec Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 14:50:15 +0000 Message-Id: <69b18127.3980f.7ee7872b@gitrepo.freebsd.org> The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/src/commit/?id=738aea3387d831c95024fd28076dadde132ceaec commit 738aea3387d831c95024fd28076dadde132ceaec Author: Lorenzo Salvadore AuthorDate: 2026-02-24 14:41:20 +0000 Commit: Lorenzo Salvadore CommitDate: 2026-03-11 14:49:23 +0000 Calendars: Update status reports deadlines Also move the deadlines in their own calendar file. Reported by: jhs Reviewed by: jhs, adamw, Graham Percival Differential Revision: https://reviews.freebsd.org/D55491 --- usr.bin/calendar/calendars/calendar.freebsd | 4 ---- usr.bin/calendar/calendars/calendar.status_reports | 28 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index bfcdfe5f9a75..37dad2d237a7 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -123,7 +123,6 @@ 03/14 Eric Turgeon born in Edmundston, New Brunswick, Canada, 1982 03/15 Paolo Pisati born in Lodi, Italy, 1977 03/15 Brian Fundakowski Feldman born in Alexandria, Virginia, United States, 1983 -03/15 First quarterly status reports are due on 03/31 03/17 Michael Smith born in Bankstown, New South Wales, Australia, 1971 03/17 Alexander Motin born in Simferopol, Ukraine, 1979 03/18 Koop Mast born in Dokkum, the Netherlands, 1981 @@ -260,7 +259,6 @@ 06/09 Stanislav Galabov born in Sofia, Bulgaria, 1978 06/11 Alonso Cardenas Marquez born in Arequipa, Peru, 1979 06/14 Josh Paetzel born in Minneapolis, Minnesota, United States, 1973 -06/15 Second quarterly status reports are due on 06/30 06/15 Aymeric Wibo born in Plaistow, London, United Kingdom, 2004 06/17 Tilman Linneweh born in Weinheim, Baden-Wuerttemberg, Germany, 1978 06/18 Li-Wen Hsu born in Taipei, Taiwan, Republic of China, 1984 @@ -382,7 +380,6 @@ 09/14 Matthew Seaman born in Bristol, United Kingdom, 1965 09/15 Aleksandr Rybalko born in Odessa, Ukraine, 1977 09/15 Dima Panov born in Khabarovsk, Russian Federation, 1978 -09/15 Third quarterly status reports are due on 09/30 09/16 Maksim Yevmenkin born in Taganrog, USSR, 1974 09/17 Maxim Bolotin born in Rostov-on-Don, Russian Federation, 1976 09/18 Matthew Fleming born in Cleveland, Ohio, United States, 1975 @@ -488,7 +485,6 @@ 12/11 Koichiro Iwao born in Oita, Japan, 1987 12/15 James FitzGibbon born in Amersham, Buckinghamshire, United Kingdom, 1974 12/15 Timur I. Bakeyev born in Kazan, Republic of Tatarstan, USSR, 1974 -12/15 Fourth quarterly status reports are due on 12/31 12/18 Chris Timmons born in Ellensburg, Washington, United States, 1964 12/18 Dag-Erling Smorgrav born in Brussels, Belgium, 1977 12/18 Muhammad Moinur Rahman born in Dhaka, Bangladesh, 1983 diff --git a/usr.bin/calendar/calendars/calendar.status_reports b/usr.bin/calendar/calendars/calendar.status_reports new file mode 100644 index 000000000000..f4e1e7b822cf --- /dev/null +++ b/usr.bin/calendar/calendars/calendar.status_reports @@ -0,0 +1,28 @@ +/* + * FreeBSD + */ + +#ifndef _calendar_status_reports_ +#define _calendar_status_reports_ + +03/01 Status Reports: First call for Q1 +03/15 Status Reports: 1 month left reminder for Q1 +03/31 Status Reports: 2 weeks left reminder for Q1 +04/14 Status Reports: Q1 deadline + +06/01 Status Reports: First call for Q2 +06/15 Status Reports: 1 month left reminder for Q2 +06/30 Status Reports: 2 weeks left reminder for Q2 +07/14 Status Reports: Q2 deadline + +09/01 Status Reports: First call for Q3 +09/15 Status Reports: 1 month left reminder for Q3 +09/30 Status Reports: 2 weeks left reminder for Q3 +10/14 Status Reports: Q3 deadline + +12/01 Status Reports: First call for Q4 +12/15 Status Reports: 1 month left reminder for Q4 +12/31 Status Reports: 2 weeks left reminder for Q4 +01/14 Status Reports: Q4 deadline + +#endif /* !_calendar_status_reports_ */ From nobody Wed Mar 11 17:49:02 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWJCh2dB6z6VVYH for ; Wed, 11 Mar 2026 17:49:20 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (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 4fWJCg42ttz3g2d for ; Wed, 11 Mar 2026 17:49:19 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b="C7RiR/s9"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::435 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-829b2019b39so113754b3a.3 for ; Wed, 11 Mar 2026 10:49:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773251353; x=1773856153; darn=freebsd.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=NIFh8pPpiauCIhJE4+euzNA0YafSNsO2RPnZ5c/Aplc=; b=C7RiR/s9uqa6AqfQC2NkCq3G6qC+zEy73Xh4zdclN8s56etJualJ6J+xF9Re1n5o0/ FQCuy7ZgKT14PzkZ828V/BDI+2rRMxbapOcLuXoDOPxuJommCxNnWLgGi1Q84aQ9G0yV gvF91drf4+H751lpIlaGR0Y6diclNn4Hsp2uTqXhM0Ns5/F8bE8GvBDL2NCKmH7RazAZ rjOft+rR8jPIHXx7B4Y1x8qhVwXbr9yV7G+u6Dk9vFExBFDH0HQP3+PcZT/70Us+hsvH jZ92bEx7xht4dfjzUALb5ZLxOM/PfBeV/QeJsBjRXyINLoZF76Av3I88sex7K3/P1u0R WTAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773251353; x=1773856153; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=NIFh8pPpiauCIhJE4+euzNA0YafSNsO2RPnZ5c/Aplc=; b=IiBCjFSAdCnJrwRfBxkFAZX4a8Eq++C9iRfVccl4blhD9hngnY0pxMMSQFXNP3DY9n /Lf5ZZE0AHZHplV+dQQ+IlU9PYV2exEjIwWstwr7pr0Mf7zBrrKmFKXsDvLL2phm8KJo ykc/irWXzZ7CplsNXzYTKEKcV72zqVnNpFWsKFTxHE54hmB9s+FX9s6/MweAdaZke8uN LAzmcCDuI2KZIkfJN9vdsEqAtKASIp0K/CzM9lOMZi6QGlbE8ZNn9R1NBOZD4rfj8OeD nnjqCawy1KVw9SUySsA21r23Ht2Tq3gtk4L/CncuY4tyrEfVMApI8U+1ZopjrW+XltL6 86Lg== X-Forwarded-Encrypted: i=1; AJvYcCWqUsoAo+ujI1zD2FRUFIEQ0JFL7SUJAG4zp5cUkHJougIaqGxQSvWTjsS5UtGUCGZ8iGpdpzglrYZdlf/oxq8/CX/DMA==@freebsd.org X-Gm-Message-State: AOJu0YwTUOhshYFANNbd++PnY3VLGlvKlbr7Fs3OrW7e7a46qM1y4m4w cEjnfO11GYHAtv2Obra240KLB/LBhHZSAF2Iy70rhaHQl1h0TwVLz5nT X-Gm-Gg: ATEYQzzrpbgz/q3u5fC12FdlZNLPYyVeQoq7adtOsQKM9AAMvM2mmQonpS3xNZEYIQe fITllJMCoagQao6XdIQ1zo4fA6ysZ+Au9F7j5t78r0HztnxEie3pk6crO9CQNFjB1kTD+9SMx6B U63ehDyK1bOagg2cI/GxYsxDSVR47eJu6YAuZv09TNoDdpTDYXMnPsZm0faecSYmIaiKqkF8Rk0 JN7kjHVfmonia9TKEX0izGWarK3yyqcF0iURLDg5AURNVMw4WgDELBrnAJp9jmTpNdpem4RQdhY Ktaketyo7naqO66zXyvdUKDW5eMlGlUHcgnSO28nFagBRkXuoUk0I1p3pCzm4Rgd4a1Tn011JYt 9cqxjQPKPAazduxq0wMeDaqvp3iWZa1PwSYH37XcugLgJ3VUMxOMqaVQ266PP0buZVx1zguD37J 55lR2yVK+RtfUAcd7WQgXgw6ZaO1nSNS8eZWjXpyFw9gP2mwyapAFr X-Received: by 2002:a05:6a20:72a5:b0:394:5d0d:9217 with SMTP id adf61e73a8af0-398c60ce53fmr3563997637.44.1773251353405; Wed, 11 Mar 2026 10:49:13 -0700 (PDT) Received: from smtpclient.apple ([185.153.179.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82a07365b22sm246861b3a.45.2026.03.11.10.49.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Mar 2026 10:49:12 -0700 (PDT) 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 \(3826.700.81.1.4\)) Subject: Re: git: f26cb4757eb7 - main - LinuxKPI: avoid -Werror=unused-value in sort() from BUILD_BUG_ON_ZERO() From: "Enji Cooper (yaneurabeya)" In-Reply-To: <69a735cf.1c359.19b4d8ff@gitrepo.freebsd.org> Date: Wed, 11 Mar 2026 10:49:02 -0700 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <016D1851-1087-4014-8A29-77C3C2D9C2A5@gmail.com> References: <69a735cf.1c359.19b4d8ff@gitrepo.freebsd.org> To: Siva Mahadevan X-Mailer: Apple Mail (2.3826.700.81.1.4) X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::435:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4fWJCg42ttz3g2d X-Spamd-Bar: --- > On Mar 3, 2026, at 11:26=E2=80=AFAM, Siva Mahadevan = wrote: >=20 > The branch main has been updated by siva: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Df26cb4757eb74ceace39144933ae198e= bf1b4f28 >=20 > commit f26cb4757eb74ceace39144933ae198ebf1b4f28 > Author: Siva Mahadevan > AuthorDate: 2026-03-03 19:09:35 +0000 > Commit: Siva Mahadevan > CommitDate: 2026-03-03 19:19:32 +0000 >=20 > LinuxKPI: avoid -Werror=3Dunused-value in sort() from = BUILD_BUG_ON_ZERO() >=20 > The BUILD_BUG_ON_ZERO() macro returns an (int)0 if it does not fail > at build time. LinuxKPI sort() has it as a guard for an unsupported > argument but ignores the return value. >=20 > This leads to gcc complaining: >=20 > = /usr/src/sys/compat/linuxkpi/common/include/linux/build_bug.h:60:33: = error: statement with no effect [-Werror=3Dunused-value] > 60 | #define BUILD_BUG_ON_ZERO(x) ((int)sizeof(struct { = int:-((x) !=3D 0); })) > | ^ > /usr/src/sys/compat/linuxkpi/common/include/linux/sort.h:37:9: = note: in expansion of macro 'BUILD_BUG_ON_ZERO' > 37 | BUILD_BUG_ON_ZERO(swap); \ > | ^~~~~~~~~~~~~~~~~ > /usr/src/sys/contrib/dev/rtw89/core.c:2575:9: note: in expansion of = macro 'sort' > 2575 | sort(drift, RTW89_BCN_TRACK_STAT_NR, = sizeof(*drift), cmp_u16, NULL); >=20 > Change to BUILD_BUG_ON() for the statement version. Thank you Siva! My mailbox and the gcc tinderbox build thanks you :).. -Enji= From nobody Wed Mar 11 22:30:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWQRh1DZ2z6V70C for ; Wed, 11 Mar 2026 22:30: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWQRh0TPvz3GMT for ; Wed, 11 Mar 2026 22:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773268208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKK64v7pan6TbwJHnojN1hwZqrosbdr8QkVxdd17nAY=; b=RJyLKzrhQrhxGuQyP+t+HOC6m3LP/VxpT4FZ54pvXIrGCkE73Uf+8AUbUWkw4WU5CUl0EU i3jQUgjDTTXAVybCn6FggCAfCYb+e4pkR9qq9+pvH1GmrMsenrnCHQsa9PAcvkpIoVZiNO CXCqLcFBOvNtswdir/aEvD71ynr8AZwla7iQQ0+K+ckBq29WvMA+zXZD880VVrPtnOs65U GYyT86pO59Dwc3TxxA25v9/NG3U3DjehJhQs3i69ObXEW5G9SM34ZvEnbmZEQ0qyWe31iu qnuNwqth40ZDCmflJ45AOF2NjhGROrzjwOjy8/U5FaFo8q5fF2RdeVuouRQSkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773268208; a=rsa-sha256; cv=none; b=TU2okOXK/L1S4Jd/grY2D8f51nASDfGI3KYyKRPDfRNxkbK6iPVFWQ8F1epdjDzm+WJelC Nf9/ibPPuDlBxCQZhp5lbLYJDoCol7nyPO07jANRkP4qyvh/HX98g0sbWuewYLCFGsrjnE O60MqljZP6XeIHR/+CWXw5UzgNbI0UppFA+3p9uEvKp5yWxnsBIa5t6HHt2eryaf6ZDr6l 8JlJsVs4CIjm4er0sjMkyYOE30uv0L41Y8hYDrZQsVTXIowQke1O4VkqtNZl69jvtB1Nls 8pAUT+hyMwHBvOwUizDk4b+pHq3up3H4odi9qDDV8JA6Yt5eqt2jbI9JSsItOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773268208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKK64v7pan6TbwJHnojN1hwZqrosbdr8QkVxdd17nAY=; b=sDVOyxWYSULzTSd9LZHpMjvvOkUU5spyApxiIPkMmmA441M4y/leyLmInfxti7FoY/vI+P mLuEVAQiJrABM7WXurO4CU7+pXzsUgghMtCptmuQaXK4dOjF+5PqufOYnsTRdKhLmAVbyd bs4ozlyETYLeVhskswVQCHCCmBrxVnryY9DQT8BrgKq7v23wMCECuLqE+aTFu1Bwckae+o NoKebFRURjrye7KSTxW4I5J+8F2ha8fhOpD99QlQl8GBA2ysWLckJdZBf8nCe6vn/EMnYl m0Ns7zJTi0ftDQ1TRYVw/4QBX5J1bMFxJcru+JgsyW1GgiQIlkEnWz6R3ayCuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWQRg73l0z38h for ; Wed, 11 Mar 2026 22:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19352 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Mar 2026 22:30:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a8b15315b250 - main - cam: Add comment about routine List-Id: Commit messages for the main 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: a8b15315b250b067f16d629664caf6358d468bff Auto-Submitted: auto-generated Date: Wed, 11 Mar 2026 22:30:07 +0000 Message-Id: <69b1ecef.19352.14bef906@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a8b15315b250b067f16d629664caf6358d468bff commit a8b15315b250b067f16d629664caf6358d468bff Author: Warner Losh AuthorDate: 2026-03-11 22:29:17 +0000 Commit: Warner Losh CommitDate: 2026-03-11 22:29:49 +0000 cam: Add comment about routine Explain why we bump ref counts here. Sponsored by: Netflix --- sys/cam/cam_xpt.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 8b42fb2ca6c5..f43dde8de401 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -1027,6 +1027,10 @@ xpt_add_periph(struct cam_periph *periph) return (status); } +/* + * Remove this peripheral from the list of peripherals the devices maintains. + * Bump generation numbers to note topology changes. + */ void xpt_remove_periph(struct cam_periph *periph) { From nobody Thu Mar 12 04:25:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWZL32jZZz6Vb52 for ; Thu, 12 Mar 2026 04:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWZL325gxz3nv0 for ; Thu, 12 Mar 2026 04:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773289547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOZNLCP8F2CXNefyTq3zxfiauAMJi0RED1+WkKnRVvM=; b=p+scg2R2iCKqN4DWS8DrYOhQ9fXKSSiDccXNl4bV9nxRgR1JjoCR931o4t/xxeo+qRT87y TAiWHTf0gr8rkYorLM4CCCOyNXaDE0uUhAVwlL/+z7R+mQFvwbEZMlRkEJNeoLrB/B2psR 5enX0H8VkU7Jjl8BwlCd/2ZC1YVs9VRvhiVu2hDLd33/VGzlKWCPZgvdIwxnw1mE0Ph1Fu su309V9wi98JW+DMc+sgpkoM5fRz78Xee9lNt6qXnYE1Jx4aqP2MXhJN+igs+cvejJ2W9c nV3fEa1Xy1vtYutvSWbJP1Tg78GHpKyJrFSox/rt1NMFMGG8plNS69dg9kxHcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773289547; a=rsa-sha256; cv=none; b=pt+waHLDg6TcY3dQQrPLIHLf9VCpIeNSbo36qMnvMOpfHewPSqdzmu70lGVrslc953ajzc YFVKqDD+Z7QvW8OjOzMIPUzqgjl8tK2DMm46PZi0MWS8PTdg4oH5PBrQhtraIxjCsxjXDd cl5Ox1mlb1wuOcuSiMcOgYW4Qyc9iIYsHajnZ8yQwFN6o6K1R1YLE42x95zVc/kmXdX7oA WfToF/FsHTWAQOdIxBB2FWiLG7ZQEifOirv6znT/MIg2CzFQ00wOhUQKjMTACtPwrwR9LX +Qh4wSrH/gBN04JE3aPphFKM0xydA/aczuOK9kYcCqFTBE/fkoqJYiHfbqPUIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773289547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOZNLCP8F2CXNefyTq3zxfiauAMJi0RED1+WkKnRVvM=; b=Lanev10vGAuNQnQBXXuWyrfqTQSAbUUjrGeqYzr42En103H/+iqcHyts9NjOoiMgPat7Ti ZMptnTAcaNBJVp8OwT/9JLng/bT7RhyhDrsDZfkxvhgo9tIB53RKGHJfrxeC7U+WfiIlrX BmEPdtm/M+giBldnTzouC7PzOhuM+rDYV5XfhynO/yP/Emj52dVY28p/O1KHKcKky5g14g uZxjDGf896tkaTCHHQ52WRLNIAYfzZNqUkOhFUxrHg9BbRuQHHHERnvGw6QPcsFzoZ/5H0 GrltBO7DEJpTQ+6x5Zt6ZHkmTMhXU7/HDfwGkapwsmurgMj4/BYZBMnm/HVaUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWZL31Mm2zTgk for ; Thu, 12 Mar 2026 04:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 465a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 04:25:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 5f0ab9d9e965 - main - amd64: Make start_all_aps() static List-Id: Commit messages for the main 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: 5f0ab9d9e965225c4af0c6ed481e01eee0ffab8f Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 04:25:47 +0000 Message-Id: <69b2404b.465a4.420e75c6@gitrepo.freebsd.org> The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5f0ab9d9e965225c4af0c6ed481e01eee0ffab8f commit 5f0ab9d9e965225c4af0c6ed481e01eee0ffab8f Author: Zhenlei Huang AuthorDate: 2026-03-12 04:24:59 +0000 Commit: Zhenlei Huang CommitDate: 2026-03-12 04:24:59 +0000 amd64: Make start_all_aps() static It is not used elsewhere since the change [1]. [1] ac3ede5371af x86/xen: remove PVHv1 code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55668 --- sys/amd64/amd64/mp_machdep.c | 3 ++- sys/amd64/include/smp.h | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 05e4109e73bb..3b16845e2d87 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -110,6 +110,7 @@ smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown = */ static int start_ap(int apic_id, vm_paddr_t boot_address); +static int start_all_aps(void); /* * Initialize the IPI handlers and start up the AP's. @@ -330,7 +331,7 @@ amd64_mp_alloc_pcpu(void) /* * start each AP in our list */ -int +static int start_all_aps(void) { vm_page_t m_boottramp, m_pml4, m_pdp, m_pd[4]; diff --git a/sys/amd64/include/smp.h b/sys/amd64/include/smp.h index 28c372a2e556..55ad236a4617 100644 --- a/sys/amd64/include/smp.h +++ b/sys/amd64/include/smp.h @@ -35,7 +35,6 @@ inthand_t IDTVEC(rendezvous_pti); void invlop_handler(void); -int start_all_aps(void); #endif /* !LOCORE */ From nobody Thu Mar 12 14:48:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWr8y3rSVz6VSGT for ; Thu, 12 Mar 2026 14:48: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWr8y26QYz3tG5 for ; Thu, 12 Mar 2026 14:48:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773326930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZErd9AL4mn1/zLA52gF4HBP6XbY160zb/kiXNUoQ9gs=; b=unon59FBosdDerYathqP/XfSlHYGDIGyBd+rxnFzd5W56qiiV/XuW8uRalU/XH7cdlrcXb xmGl31wip9KsRjQKfFhvR3nn6kqCd9O87ITspoL7CdvQa7TCQAQPRsZ7+DSNfOBs1rORj3 IkgWZmRNbVxbm8XkPViEtqIK5RuKvmiPQsOaf63qo07uiv0LL5A2kHDK0h0vJg2r4p43vh BpZecs9NOihAcC6/Fk5qxLyvzG7+88wi8ZROtWYC2j7DHWplObiIKyY6twlELkjEmI3sCs 6DPPp/OrQ13DibUYkaJhE3sISZjoO3/A2w9CvIY7Gegf0A6z0lS6MonTcCZDNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773326930; a=rsa-sha256; cv=none; b=Dot/WlfgZaiKoRr8uLunM+VKopthq996spxSrrQ28KAlhKyhOQJ4FaUFwaAjh9I3g1kksc S/lJOSEmHyWCvg1Vs5Lh7sJSjalW+96cbJagxYBR05N+9I3ziM7/ZYZ+9/gU4AmwJ3Xaqh g5EU+bWTNGGlhuBfAVji87ce3hSsnYdGPJRNzFtJKZS3AANfmgQ2LGdGuF/EiJHZk+Qmhr iC4f/0cgHVuW4CLHQwwJfMakXvDJNaZGnLu/BQsMDvB0B48fPBoKhToIXdx7N5q9179k0b xUazz1e9wA7Q3lkR7/G8G4p6xOsicPUjSFPGakGRWaTXva0U54BGBhAtPVH8mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773326930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZErd9AL4mn1/zLA52gF4HBP6XbY160zb/kiXNUoQ9gs=; b=lGUWBFi0skTNWIq074eovxuD0qqulAmVS2DWlMLleqoO/wkyrfzmB2mLBoN+koUghG7B3E 1odRpE94+iosOhHtbt+RC4JxbG00r2PuSMxu4IUpMDfYZl4j+TC4NqP9vjfUXD2XECvR1P qz08W0MG8Fywf6G9JpsoPY2bzrSxdtZsOzEGeLr2YWm8EVU00QtRsBa+XjYVJWCMIOYfuy nqTqVGKDFFI84sdTnqiIVr4NM09pCTLB+E4lWspX47xA8Kip5r+bMpkkzXmASnaf34k9iy g31M+4a3sLrQaHeP6TwN5a1TaOZnBtk0IzfCp7SaQ49OAlRcK36Hw5ky/MVlEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWr8y1fBfzqM1 for ; Thu, 12 Mar 2026 14:48:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38e13 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 14:48:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: a2b2ce2c15bb - main - DEFINE_IFUNC.9: update NOTES List-Id: Commit messages for the main 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: a2b2ce2c15bb73d9f87d5072cf65f1f027e066fb Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 14:48:50 +0000 Message-Id: <69b2d252.38e13.8446a44@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a2b2ce2c15bb73d9f87d5072cf65f1f027e066fb commit a2b2ce2c15bb73d9f87d5072cf65f1f027e066fb Author: Mitchell Horne AuthorDate: 2026-03-12 14:44:46 +0000 Commit: Mitchell Horne CommitDate: 2026-03-12 14:44:46 +0000 DEFINE_IFUNC.9: update NOTES ifuncs are now implemented for all architectures, so drop the caveat statement. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55815 --- share/man/man9/DEFINE_IFUNC.9 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/share/man/man9/DEFINE_IFUNC.9 b/share/man/man9/DEFINE_IFUNC.9 index 0bb75d1fd4da..8cb216af04d7 100644 --- a/share/man/man9/DEFINE_IFUNC.9 +++ b/share/man/man9/DEFINE_IFUNC.9 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 18, 2019 +.Dd March 10, 2026 .Dt DEFINE_IFUNC 9 .Os .Sh NAME @@ -134,8 +134,7 @@ function with an optimized implementation for CPUs that advertise support. .Sh SEE ALSO .Xr elf 5 .Sh NOTES -ifuncs are not supported on all architectures. -They require both toolchain support, to emit function symbols of type +ifuncs require both toolchain support, to emit function symbols of type .Dv STT_GNU_IFUNC , -and kernel linker support to invoke ifunc resolvers during boot or +and kernel linker support, to invoke ifunc resolvers during boot or during module load. From nobody Thu Mar 12 15:17:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWrp52v97z6VVcg for ; Thu, 12 Mar 2026 15:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWrp528Ffz4FWV for ; Thu, 12 Mar 2026 15:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773328653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2xCEX2owLJq6zbWgxRO3gVS5wkjEbM8kxDrUHobyFPI=; b=WLEGQsvankV9ASS4wY7VTmGnfokCaLLqZSayGmkq6TxtUU9dS50nmFtk6xhVavF2q8uhOv 2OHdWzgqoeZTAilBVpeXHQ8DjdczNGefLSogiY8r4N1mBBWFhCqniGUhjGPrt0ulKAvREQ BByxA/Y/bpy1f3PTafZZ3LfokbCfTXIYzMy2CQ1/WiSYqB0KaVY8maRyytPkKeIC/5sTy6 U1TN+5l1QK29wtwPufYiEtr2Q5lW0rHER5JCxYUIjjdYxpi4e/MXuOe1OR+YCiAWxQ2TLK gVnxPbiqFbLnEpno/MjTkRsZ6+Fq5kcmvE9mSJFLX9ABGQHOUDOhWb9O7PoAUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773328653; a=rsa-sha256; cv=none; b=t7gOQhoSdUis4y3zHXeINBI0xpXIgOMTOjd2U0IjAJqDz9wfv6h/4SBJb98sBSCgMOXBDj HysiGB5hAfLEjddGTANT1NcwbnlckL9Na2Jgmy9I1ysmAgrQrkqejVrNs25ZMAKloG6Cyn ji+HJGrc7xSrMQHm5dhgC7OpZmHT9tCwzj0J3YQgs/ERe4MpAaQMzutlUXc8SWVWGoAwmV tWt+k/opA3I89uFqYEaT2KKluEKHuLKLYL3E+vFdkVZqr2fNl7FLsfqDTOi/D8CsjdwNTz 1KnAFPF21qVdrhwmwB8OFvZ5FvUf0xn44kkM7MRaXOGlZwKgBPAwnQb/+pmirw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773328653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2xCEX2owLJq6zbWgxRO3gVS5wkjEbM8kxDrUHobyFPI=; b=GC+SUJV/73hUlwv7yV3r+9qKkdyyUf2hgWlATTI3w2cTPGU46BJRRjhTz1Zrg0ruGY79ed pLeid4x4FnvJEBVGepyNgtiL4WCdexKHB49Cq/QRjf6VKCUdBBaB7X6U3rQIgi0/mBKNhz flIuOv+LTAVnlcW/k+PO1pGyrprQ2hf11AhP4NagsdKcr074z/h2YGi7zoLpqIcVA99oxx uyuuKo8jGjjPn0vM0mb0vcV+UnfUrB3mxOZFeo2UaBJyGJc1tEg5e+6oUmk0uAbHrdgJmM r8spcD8sOq371NIrIN+5vyVOvMqxfjxg1ezyYIK1FzLxnUMwCEMpWR2QNatHnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWrp51TK6zqjl for ; Thu, 12 Mar 2026 15:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bfab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 15:17:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 25cc459286a0 - main - shm: Zero struct kinfo_file in sysctl handler List-Id: Commit messages for the main 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: 25cc459286a02b646751541ccde5a33319471c73 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 15:17:33 +0000 Message-Id: <69b2d90d.3bfab.693adee2@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=25cc459286a02b646751541ccde5a33319471c73 commit 25cc459286a02b646751541ccde5a33319471c73 Author: Ed Maste AuthorDate: 2026-03-11 01:59:07 +0000 Commit: Ed Maste CommitDate: 2026-03-12 15:17:14 +0000 shm: Zero struct kinfo_file in sysctl handler Reported by: Calif.io in collaboration with Claude and Anthropic Research Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55806 --- sys/kern/uipc_shm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index fe3feab4149f..0ad5be2e8d71 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -2149,7 +2149,7 @@ sysctl_posix_shm_list(SYSCTL_HANDLER_ARGS) { struct shm_mapping *shmm; struct sbuf sb; - struct kinfo_file kif; + struct kinfo_file kif = {}; u_long i; int error, error2; From nobody Thu Mar 12 15:29:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWs3b5MGyz6VWRW for ; Thu, 12 Mar 2026 15:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWs3b14vyz4GYG for ; Thu, 12 Mar 2026 15:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773329355; 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; bh=L38Wy93RcfBsBd58RVYg8ObO2kKhED6wrhJoxDQkMqk=; b=ctSTVod9Z/hSbQezvnLzKsKcZhW11deVlUNjal1hvkH72OucCc3JT6VOREVk+wgZ1JNi87 t8bgVZ5cAIzCLHTZYt74XJt18vuJimjqLQXQ9CAOQej+ZOehrhXomX1yAWCBWjItmGN/TT kW7bFcWW2CiY5VZB6W7esExWIC37rCBLP3vdElmP/rypgU8wFznYP8W6YhxApiT5N94o0x 5C1ta+N3SVWT2XVTePuyDAsxAItzwEXJjV7T5ydBIK1A+D+HIi5Zt1OT65sbQhfp6CpcPE DlXnyEsATpSD9tGO0RtE42mzdVq1IUSZLpuPB7EOqEf2juQ5B5JJGnYXck3B8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773329355; a=rsa-sha256; cv=none; b=QzTN2MWFWCwUvnEXw7vZyBPc4MKrgE7Htl6Q0dSbNHBZE8xGk7G5pjzbEpc30rQg+NVIca lSd5U9itm0DNQ3IfsfQPy7UmX1x1k1m+AFbZfW4ewuKq3c8762YISAM0l771GcG1U085qc EdGF5hVqgUtBBsePe+rX/Cvvuvbel7a0jFWfHqZHce/Dxbzz93gcomQm6aE6WZJKWmUsxs GPWvP20GHw0cC7i3v4SPA4vk4e3hbRNMiwO/gy2gRUWg6XsYyLMsw8FRoTQZQYnBoG2F2E U1dzXIKJSuUJ99JYaPjy3UEtXR0Yu3du7X8girdJfHSemW43D4nKw+07g1fyJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773329355; 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; bh=L38Wy93RcfBsBd58RVYg8ObO2kKhED6wrhJoxDQkMqk=; b=gsT12Z6sCem0XzZM+YDPhe9fnG6KHSoJI+HcRCLdIsubuGQ8sxEgrkNxURRnxeNKDVm4X8 pXc0d/5LbGAORgdD4cRKzriTbU4fW5TQ2LjuijFz3s2cfjU8znUkpqVTHig+Ku5FIEYNoY c/4ZO2LLbkKeGC4syXR00C+VcpfQs99XOPtzEHlt2GVWknRGts7tGQ9RWoLEQfPIBM/wIl ts79tECLFvsX8khZZ6w0cQeyv1uWlo2kUpr1mOLYpfg8IOaAxJ3MES9YE0IwzjQIr1HUPl qAqbUw1sixl/KnNqmioNMbCJ5BDJEwaweCQaBjKgavjUO4dXPYcVvfjW5oePIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWs3b0KdjzrPV for ; Thu, 12 Mar 2026 15:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cf06 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 15:29:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Paulo Fragoso From: Mitchell Horne Subject: git: ce9aff829e02 - main - hwpmc_amd: fix amd_get_msr() MSR offset for newer counter bases List-Id: Commit messages for the main 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: ce9aff829e02c9a21c04eae77a45f2193d1ed5a1 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 15:29:09 +0000 Message-Id: <69b2dbc5.3cf06.4ef36fc5@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ce9aff829e02c9a21c04eae77a45f2193d1ed5a1 commit ce9aff829e02c9a21c04eae77a45f2193d1ed5a1 Author: Paulo Fragoso AuthorDate: 2026-03-12 15:21:33 +0000 Commit: Mitchell Horne CommitDate: 2026-03-12 15:29:04 +0000 hwpmc_amd: fix amd_get_msr() MSR offset for newer counter bases The previous code subtracted AMD_PMC_PERFCTR_0 (0xC0010004) from all perfctr MSR addresses to compute a relative offset. This is incorrect for counters using AMD_PMC_CORE_BASE (0xC0010200), AMD_PMC_L3_BASE (0xC0010230), and AMD_PMC_DF_BASE (0xC0010240), producing wrong offsets. Fix by promoting amd_core_npmcs, amd_l3_npmcs, and amd_df_npmcs to static module-level variables and computing the correct flat RDPMC index per AMD BKDG 24594 page 440: ECX 0-5: Core counters 0-5 ECX 6-9: DF counters 0-3 ECX 10-15: L3 Cache counters 0-5 ECX 16-27: DF counters 4-15 ECX > 27: Reserved, returns EINVAL Reviewed by: Ali Mashtizadeh , mhorne Sponsored by: NLINK (https://nlink.com.br), Recife, Brazil Fixes: 37bba2ad92d8 ("hwpmc_amd: Add support for additional counters") Differential Revision: https://reviews.freebsd.org/D55607 --- sys/dev/hwpmc/hwpmc_amd.c | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index cf44f9362a72..c27d93995d59 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -60,8 +60,8 @@ struct amd_descr { }; static int amd_npmcs; +static int amd_core_npmcs, amd_l3_npmcs, amd_df_npmcs; static struct amd_descr amd_pmcdesc[AMD_NPMCS_MAX]; - struct amd_event_code_map { enum pmc_event pe_ev; /* enum value */ uint16_t pe_code; /* encoded event mask */ @@ -664,10 +664,41 @@ amd_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc) static int amd_get_msr(int ri, uint32_t *msr) { + int df_idx; + KASSERT(ri >= 0 && ri < amd_npmcs, ("[amd,%d] ri %d out of range", __LINE__, ri)); - *msr = amd_pmcdesc[ri].pm_perfctr - AMD_PMC_PERFCTR_0; + /* + * Map counter row index to RDPMC ECX value. + * + * AMD BKDG 24594 rev 3.37, page 440, + * "RDPMC Read Performance-Monitoring Counter": + * ECX 0-5: Core counters 0-5 + * ECX 6-9: DF/Northbridge counters 0-3 + * ECX 10-15: L3 Cache counters 0-5 + * ECX 16-27: DF/Northbridge counters 4-15 + * + * AMD PPR 57930-A0 section 2.1.9, + * "Register Sharing" for DF counter details. + */ + if (ri < amd_core_npmcs) { + /* ECX 0-5: Core counters */ + *msr = ri; + } else if (ri < amd_core_npmcs + amd_l3_npmcs) { + /* ECX 10-15: L3 Cache counters */ + *msr = 10 + (ri - amd_core_npmcs); + } else { + /* ECX 6-9: DF counters 0-3 + * ECX 16-27: DF counters 4-15 */ + df_idx = ri - amd_core_npmcs - amd_l3_npmcs; + if (df_idx < 4) + *msr = 6 + df_idx; + else if (df_idx < 16) + *msr = 16 + (df_idx - 4); + else + return (EINVAL); + } return (0); } @@ -767,7 +798,6 @@ pmc_amd_initialize(void) enum pmc_cputype cputype; int error, i, ncpus, nclasses; int family, model, stepping; - int amd_core_npmcs, amd_l3_npmcs, amd_df_npmcs; struct amd_descr *d; /* From nobody Thu Mar 12 16:11:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWt0q1mBqz6VZV2 for ; Thu, 12 Mar 2026 16:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWt0q1VrVz4PX9 for ; Thu, 12 Mar 2026 16:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773331915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u11E3tMYZBifVltQiVcFMkyLuRHHIOsAVD0OYcRe70c=; b=Ao0MTOGh2huic44J/PLYVGXNeDIO+77gojoOIXCIKN8JnaVdeDesEN9y2JTkrtWH5iCIKx n/tTd9TYe+pCz+XOztHTd0efWQcbshAAp6Zr3DSbEQDG7qWHD6N9zFgzBqRtX7yNBMp9RJ /DEdfksQJU29VfnLynCTYBaYvITb4pgxOAOWCpew4GARm1LszrtA/N85IzAyInXkQqE03X TThKukp0gLaWDMsRa3rn9qkGWcct5I+tclsOXoyb+NSSVJ1J0rm+9GrKj/smFFYRshdNWm utj6AEpjwnBvY9y+CR7ym0OPZuYVwVeoVOnTeKmeAWMgisQh5P5JD46u0sUyzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773331915; a=rsa-sha256; cv=none; b=Y9oV4uM61sJ2/9QpTrO7cbpSVdS+Pifj26qBA5BrBPoreV3qI9t/dX0uZsGIv5aKXlG/3N nCSH5LEGkHHA4+JSrX7WDh+U7LJGnLsOfoROV+rJMql6kqfktJWzgtp3Qvl70RnQ9Xew3g pawel8xLavhdXfAPY1WAOiR3a3umER0pk+rlEoToVjIYk7E5YnKAx4N0AhsWUEpxWaPvEB ZEwZwIBBgWOLEc6olwwVhtKmg+v39z1NEN2Vsgi7iuXsylT4Yh1MVR90Unz08HRmKDisHR /riUKD5Syr58p5TLZxNast9ZwdODS6sAXmxVqILDB2KeHD7hGs5QvPtyx72yyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773331915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u11E3tMYZBifVltQiVcFMkyLuRHHIOsAVD0OYcRe70c=; b=trXR0yOUE7qmr+f9fupwNFei/iCIEo84fv3d7xBkpvhyGvenT3hqhbe9OLaXeSbwl4iTWl 7dZdiLiTFcSkJZX5su8dexIm0vgfNRRZnwXat597KHlGWIy4Zj4NNJAbJ+VD1xM3UGynTA MUAlJzugOxgjC1TiKKLumJKytiACs3NhkBWXH51OEL2C/36RaOBXJd9gXdiM+eM5pp9a/E eUhA+AhfZl8AnuuyApDJhCVXf/3kAzUbA13+Ek0Vvg3cqzFd88jTGRYKlFlQS158gBGjMv sQKRPykF8/z7ClkwzMYBrXYVSp27gYhnJV4i1xyvflLBZr4j09bUAOPNZTE5pQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWt0q0rPvzsX1 for ; Thu, 12 Mar 2026 16:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41328 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:11:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 7e68af7ce2c1 - main - fusefs: redo vnode attribute locking List-Id: Commit messages for the main 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: 7e68af7ce2c1b892954df415774fe59fd2f1b62f Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:11:55 +0000 Message-Id: <69b2e5cb.41328.db0b562@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=7e68af7ce2c1b892954df415774fe59fd2f1b62f commit 7e68af7ce2c1b892954df415774fe59fd2f1b62f Author: Alan Somers AuthorDate: 2026-01-23 21:23:51 +0000 Commit: Alan Somers CommitDate: 2026-03-12 16:11:25 +0000 fusefs: redo vnode attribute locking Previously most fields in fuse_vnode_data were protected by the vnode lock. But because DEBUG_VFS_LOCKS was never enabled by default until stable/15 the assertions were never checked, and many were wrong. Others were missing. This led to panics in stable/15 and 16.0-CURRENT, when a vnode was expected to be exclusively locked but wasn't, for fuse file systems that mount with "-o async". In some places it isn't possible to exclusively lock the vnode when accessing these fields. So protect them with a new mutex instead. This fixes panics and unprotected field accesses in VOP_READ, VOP_COPY_FILE_RANGE, VOP_GETATTR, VOP_BMAP, and FUSE_NOTIFY_INVAL_ENTRY. Add assertions everywhere the protected fields are accessed. Lock the vnode exclusively when handling FUSE_NOTIFY_INVAL_INODE. During fuse_vnode_setsize, if the vnode isn't already exclusively locked, use the vn_delayed_setsize mechanism. This fixes panics during VOP_READ or VOP_GETATTR. Also, ensure that fuse_vnop_rename locks the "from" vnode. Finally, reorder elements in struct fuse_vnode_data to reduce the structure size. Fixes: 283391 Reported by: kargl, markj, vishwin, Abdelkader Boudih, groenveld@acm.org MFC after: 2 weeks Sponsored by: ConnectWise Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D55230 --- sys/fs/fuse/fuse_file.c | 8 +- sys/fs/fuse/fuse_internal.c | 42 +++++---- sys/fs/fuse/fuse_io.c | 21 ++++- sys/fs/fuse/fuse_node.c | 89 ++++++++++++++++---- sys/fs/fuse/fuse_node.h | 91 +++++++++++++++++--- sys/fs/fuse/fuse_vfsops.c | 2 + sys/fs/fuse/fuse_vnops.c | 81 ++++++++++++++++-- tests/sys/fs/fusefs/bmap.cc | 34 +++++--- tests/sys/fs/fusefs/notify.cc | 38 ++++++--- tests/sys/fs/fusefs/read.cc | 192 ++++++++++++++++++++++++++++++++++++++++++ tests/sys/fs/fusefs/rename.cc | 90 ++++++++++++++++++++ 11 files changed, 609 insertions(+), 79 deletions(-) diff --git a/sys/fs/fuse/fuse_file.c b/sys/fs/fuse/fuse_file.c index 5f5819c2ccae..2cb8ef84e511 100644 --- a/sys/fs/fuse/fuse_file.c +++ b/sys/fs/fuse/fuse_file.c @@ -194,6 +194,8 @@ fuse_filehandle_close(struct vnode *vp, struct fuse_filehandle *fufh, int err = 0; int op = FUSE_RELEASE; + ASSERT_VOP_ELOCKED(vp, __func__); + if (fuse_isdeadfs(vp)) { goto out; } @@ -381,7 +383,11 @@ fuse_filehandle_init(struct vnode *vp, fufh_type_t fufh_type, } else { if ((foo->open_flags & FOPEN_KEEP_CACHE) == 0) fuse_io_invalbuf(vp, td); - VTOFUD(vp)->flag &= ~FN_DIRECTIO; + /* + * XXX Update the flag without the lock for now. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ + VTOFUD(vp)->flag &= ~FN_DIRECTIO; } } diff --git a/sys/fs/fuse/fuse_internal.c b/sys/fs/fuse/fuse_internal.c index a3590060f44a..914deb416c08 100644 --- a/sys/fs/fuse/fuse_internal.c +++ b/sys/fs/fuse/fuse_internal.c @@ -262,7 +262,7 @@ fuse_internal_cache_attrs(struct vnode *vp, struct fuse_attr *attr, fvdat = VTOFUD(vp); data = fuse_get_mpdata(mp); - ASSERT_VOP_ELOCKED(vp, "fuse_internal_cache_attrs"); + ASSERT_CACHED_ATTRS_LOCKED(vp); fuse_validity_2_bintime(attr_valid, attr_valid_nsec, &fvdat->attr_cache_timeout); @@ -478,7 +478,9 @@ fuse_internal_invalidate_entry(struct mount *mp, struct uio *uio) cn.cn_namelen = fnieo.namelen; err = cache_lookup(dvp, &vp, &cn, NULL, NULL); MPASS(err == 0); + CACHED_ATTR_LOCK(dvp); fuse_vnode_clear_attr_cache(dvp); + CACHED_ATTR_UNLOCK(dvp); vput(dvp); return (0); } @@ -498,8 +500,8 @@ fuse_internal_invalidate_inode(struct mount *mp, struct uio *uio) if (fniio.ino == FUSE_ROOT_ID) err = VFS_ROOT(mp, LK_EXCLUSIVE, &vp); else - err = fuse_internal_get_cached_vnode(mp, fniio.ino, LK_SHARED, - &vp); + err = fuse_internal_get_cached_vnode(mp, fniio.ino, + LK_EXCLUSIVE, &vp); SDT_PROBE2(fusefs, , internal, invalidate_inode, vp, &fniio); if (err != 0 || vp == NULL) return (err); @@ -694,6 +696,8 @@ fuse_internal_remove(struct vnode *dvp, nlink_t nlink; int err = 0; + ASSERT_CACHED_ATTRS_LOCKED(vp); + fdisp_init(&fdi, cnp->cn_namelen + 1); fdisp_make_vp(&fdi, op, dvp, curthread, cnp->cn_cred); @@ -891,15 +895,9 @@ fuse_internal_do_getattr(struct vnode *vp, struct vattr *vap, struct fuse_vnode_data *fvdat = VTOFUD(vp); struct fuse_getattr_in *fgai; struct fuse_attr_out *fao; - off_t old_filesize = fvdat->cached_attrs.va_size; - struct timespec old_atime = fvdat->cached_attrs.va_atime; - struct timespec old_ctime = fvdat->cached_attrs.va_ctime; - struct timespec old_mtime = fvdat->cached_attrs.va_mtime; __enum_uint8(vtype) vtyp; int err; - ASSERT_VOP_LOCKED(vp, __func__); - fdisp_init(&fdi, sizeof(*fgai)); fdisp_make_vp(&fdi, FUSE_GETATTR, vp, td, cred); fgai = fdi.indata; @@ -917,22 +915,27 @@ fuse_internal_do_getattr(struct vnode *vp, struct vattr *vap, fao = (struct fuse_attr_out *)fdi.answ; vtyp = IFTOVT(fao->attr.mode); + + CACHED_ATTR_LOCK(vp); if (fvdat->flag & FN_SIZECHANGE) - fao->attr.size = old_filesize; + fao->attr.size = fvdat->cached_attrs.va_size; if (fvdat->flag & FN_ATIMECHANGE) { - fao->attr.atime = old_atime.tv_sec; - fao->attr.atimensec = old_atime.tv_nsec; + fao->attr.atime = fvdat->cached_attrs.va_atime.tv_sec; + fao->attr.atimensec = fvdat->cached_attrs.va_atime.tv_nsec; } if (fvdat->flag & FN_CTIMECHANGE) { - fao->attr.ctime = old_ctime.tv_sec; - fao->attr.ctimensec = old_ctime.tv_nsec; + fao->attr.ctime = fvdat->cached_attrs.va_ctime.tv_sec; + fao->attr.ctimensec = fvdat->cached_attrs.va_ctime.tv_nsec; } if (fvdat->flag & FN_MTIMECHANGE) { - fao->attr.mtime = old_mtime.tv_sec; - fao->attr.mtimensec = old_mtime.tv_nsec; + fao->attr.mtime = fvdat->cached_attrs.va_mtime.tv_sec; + fao->attr.mtimensec = fvdat->cached_attrs.va_mtime.tv_nsec; } + fuse_internal_cache_attrs(vp, &fao->attr, fao->attr_valid, fao->attr_valid_nsec, vap, true); + + CACHED_ATTR_UNLOCK(vp); if (vtyp != vnode_vtype(vp)) { fuse_internal_vnode_disappear(vp); err = ENOENT; @@ -950,10 +953,13 @@ fuse_internal_getattr(struct vnode *vp, struct vattr *vap, struct ucred *cred, { struct vattr *attrs; + CACHED_ATTR_LOCK(vp); if ((attrs = VTOVA(vp)) != NULL) { *vap = *attrs; /* struct copy */ + CACHED_ATTR_UNLOCK(vp); return 0; - } + } else + CACHED_ATTR_UNLOCK(vp); return fuse_internal_do_getattr(vp, vap, cred, td); } @@ -1140,7 +1146,7 @@ int fuse_internal_setattr(struct vnode *vp, struct vattr *vap, int err = 0; __enum_uint8(vtype) vtyp; - ASSERT_VOP_ELOCKED(vp, __func__); + ASSERT_CACHED_ATTRS_LOCKED(vp); mp = vnode_mount(vp); fvdat = VTOFUD(vp); diff --git a/sys/fs/fuse/fuse_io.c b/sys/fs/fuse/fuse_io.c index 0760d7641c7d..9f864e48effc 100644 --- a/sys/fs/fuse/fuse_io.c +++ b/sys/fs/fuse/fuse_io.c @@ -401,6 +401,7 @@ retry: fuse_warn(data, FSESS_WARN_WROTE_LONG, "wrote more data than we provided it."); /* This is bonkers. Clear attr cache. */ + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag &= ~FN_SIZECHANGE; fuse_vnode_clear_attr_cache(vp); err = EINVAL; @@ -416,8 +417,10 @@ retry: fuse_vnode_setsize(vp, as_written_offset, false); getnanouptime(&fvdat->last_local_modify); } - if (as_written_offset - diff >= filesize) + if (as_written_offset - diff >= filesize) { + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag &= ~FN_SIZECHANGE; + } if (diff > 0) { /* Short write */ @@ -454,8 +457,11 @@ retry: fdisp_destroy(&fdi); - if (wrote_anything) + if (wrote_anything) { + CACHED_ATTR_LOCK(vp); fuse_vnode_undirty_cached_timestamps(vp, false); + CACHED_ATTR_UNLOCK(vp); + } vn_rlimit_fsizex_res(uio, r); return (err); @@ -556,6 +562,7 @@ again: err = fuse_vnode_setsize(vp, uio->uio_offset + n, false); filesize = uio->uio_offset + n; getnanouptime(&fvdat->last_local_modify); + ASSERT_CACHED_ATTRS_LOCKED(vp); fvdat->flag |= FN_SIZECHANGE; if (err) { brelse(bp); @@ -806,6 +813,7 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) left = uiop->uio_resid; bzero((char *)bp->b_data + nread, left); + CACHED_ATTR_LOCK(vp); if ((fvdat->flag & FN_SIZECHANGE) == 0) { /* * A short read with no error, when not using @@ -838,6 +846,7 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) "Short read of a dirty file"); uiop->uio_resid = 0; } + CACHED_ATTR_UNLOCK(vp); } if (error) { bp->b_ioflags |= BIO_ERROR; @@ -855,10 +864,18 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) * anything about it. In particular, we can't invalidate any * part of the file's buffers because VOP_STRATEGY is called * with them already locked. + * + * Normally the vnode should be exclusively locked at this + * point. However, if clustered reads are in use, then in a + * mixed read-write workload getblkx may need to flush a + * partially written buffer to disk during a read. In such a + * case, the vnode may only have a shared lock at this point. */ + CACHED_ATTR_LOCK(vp); filesize = fvdat->cached_attrs.va_size; /* filesize must've been cached by fuse_vnop_open. */ KASSERT(filesize != VNOVAL, ("filesize should've been cached")); + CACHED_ATTR_UNLOCK(vp); if ((off_t)bp->b_lblkno * biosize + bp->b_dirtyend > filesize) bp->b_dirtyend = filesize - diff --git a/sys/fs/fuse/fuse_node.c b/sys/fs/fuse/fuse_node.c index 742dc66bcafc..f4fb993a7ca1 100644 --- a/sys/fs/fuse/fuse_node.c +++ b/sys/fs/fuse/fuse_node.c @@ -157,6 +157,8 @@ fuse_vnode_init(struct vnode *vp, struct fuse_vnode_data *fvdat, fvdat->nid = nodeid; LIST_INIT(&fvdat->handles); + mtx_init(&fvdat->cached_attr_mtx, "fuse attr cache mutex", NULL, + MTX_DEF); vattr_null(&fvdat->cached_attrs); fvdat->cached_attrs.va_birthtime.tv_sec = -1; fvdat->cached_attrs.va_birthtime.tv_nsec = 0; @@ -181,6 +183,7 @@ fuse_vnode_destroy(struct vnode *vp) struct fuse_vnode_data *fvdat = vp->v_data; vp->v_data = NULL; + mtx_destroy(&fvdat->cached_attr_mtx); KASSERT(LIST_EMPTY(&fvdat->handles), ("Destroying fuse vnode with open files!")); free(fvdat, M_FUSEVN); @@ -386,7 +389,8 @@ fuse_vnode_savesize(struct vnode *vp, struct ucred *cred, pid_t pid) struct fuse_setattr_in *fsai; int err = 0; - ASSERT_VOP_ELOCKED(vp, "fuse_io_extend"); + ASSERT_VOP_ELOCKED(vp, __func__); /* For flag and last_local_modify */ + ASSERT_CACHED_ATTRS_LOCKED(vp); if (fuse_isdeadfs(vp)) { return EBADF; @@ -439,10 +443,10 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) struct vattr *attrs; off_t oldsize; size_t iosize; - struct buf *bp = NULL; int err = 0; - ASSERT_VOP_ELOCKED(vp, "fuse_vnode_setsize"); + ASSERT_VOP_LOCKED(vp, __func__); + ASSERT_CACHED_ATTRS_LOCKED(vp); iosize = fuse_iosize(vp); oldsize = fvdat->cached_attrs.va_size; @@ -450,7 +454,45 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) if ((attrs = VTOVA(vp)) != NULL) attrs->va_size = newsize; - if (newsize < oldsize) { + if (from_server && newsize > oldsize && oldsize != VNOVAL) { + /* + * The FUSE server changed the file size behind our back. We + * should invalidate the entire cache. + */ + daddr_t end_lbn; + + end_lbn = howmany(newsize, iosize); + v_inval_buf_range(vp, 0, end_lbn, iosize); + } + + if (VOP_ISLOCKED(vp) == LK_EXCLUSIVE) { + err = fuse_vnode_setsize_immediate(vp, newsize < oldsize); + } else { + /* Without an exclusive vnode lock, we must defer the operation */ + fvdat->flag |= FN_DELAYED_TRUNCATE; + vn_delayed_setsize(vp); + } + + return err; +} + +/* Immediately set the vnode's size in the pager */ +int +fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink) +{ + struct fuse_vnode_data *fvdat = VTOFUD(vp); + struct buf *bp = NULL; + size_t iosize; + off_t newsize; + int err = 0; + + MPASS(fvdat); + ASSERT_VOP_ELOCKED(vp, __func__); + + iosize = fuse_iosize(vp); + newsize = fvdat->cached_attrs.va_size; + + if (shrink) { daddr_t lbn; err = vtruncbuf(vp, newsize, fuse_iosize(vp)); @@ -474,21 +516,13 @@ fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server) MPASS(bp->b_flags & B_VMIO); vfs_bio_clrbuf(bp); bp->b_dirtyend = MIN(bp->b_dirtyend, newsize - lbn * iosize); - } else if (from_server && newsize > oldsize && oldsize != VNOVAL) { - /* - * The FUSE server changed the file size behind our back. We - * should invalidate the entire cache. - */ - daddr_t end_lbn; - - end_lbn = howmany(newsize, iosize); - v_inval_buf_range(vp, 0, end_lbn, iosize); } out: if (bp) brelse(bp); vnode_pager_setsize(vp, newsize); - return err; + + return (err); } /* Get the current, possibly dirty, size of the file */ @@ -497,15 +531,28 @@ fuse_vnode_size(struct vnode *vp, off_t *filesize, struct ucred *cred, struct thread *td) { struct fuse_vnode_data *fvdat = VTOFUD(vp); + struct vattr va; int error = 0; + ASSERT_VOP_LOCKED(vp, __func__); + + CACHED_ATTR_LOCK(vp); if (!(fvdat->flag & FN_SIZECHANGE) && (!fuse_vnode_attr_cache_valid(vp) || - fvdat->cached_attrs.va_size == VNOVAL)) - error = fuse_internal_do_getattr(vp, NULL, cred, td); - - if (!error) + fvdat->cached_attrs.va_size == VNOVAL)) { + CACHED_ATTR_UNLOCK(vp); + /* + * It incurs a large struct copy, but we supply &va so we don't + * have to acquire the lock a second time after + * fuse_internal_do_getattr returns. + */ + error = fuse_internal_do_getattr(vp, &va, cred, td); + if (!error) + *filesize = va.va_size; + } else { *filesize = fvdat->cached_attrs.va_size; + CACHED_ATTR_UNLOCK(vp); + } return error; } @@ -515,6 +562,8 @@ fuse_vnode_undirty_cached_timestamps(struct vnode *vp, bool atime) { struct fuse_vnode_data *fvdat = VTOFUD(vp); + ASSERT_CACHED_ATTRS_LOCKED(vp); + fvdat->flag &= ~(FN_MTIMECHANGE | FN_CTIMECHANGE); if (atime) fvdat->flag &= ~FN_ATIMECHANGE; @@ -537,6 +586,8 @@ fuse_vnode_update(struct vnode *vp, int flags) if (mp->mnt_flag & MNT_NOATIME) flags &= ~FN_ATIMECHANGE; + CACHED_ATTR_LOCK(vp); + if (flags & FN_ATIMECHANGE) fvdat->cached_attrs.va_atime = ts; if (flags & FN_MTIMECHANGE) @@ -545,6 +596,8 @@ fuse_vnode_update(struct vnode *vp, int flags) fvdat->cached_attrs.va_ctime = ts; fvdat->flag |= flags; + + CACHED_ATTR_UNLOCK(vp); } void diff --git a/sys/fs/fuse/fuse_node.h b/sys/fs/fuse/fuse_node.h index 97774de9eeb5..b6e388d01702 100644 --- a/sys/fs/fuse/fuse_node.h +++ b/sys/fs/fuse/fuse_node.h @@ -79,6 +79,11 @@ * cache_attrs.va_size field does not time out. */ #define FN_SIZECHANGE 0x00000100 +/* + * Whether I/O to this vnode should bypass the cache. + * XXX BUG: this should be part of the file handle, not the vnode data. + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ #define FN_DIRECTIO 0x00000200 /* Indicates that parent_nid is valid */ #define FN_PARENT_NID 0x00000400 @@ -92,38 +97,81 @@ #define FN_CTIMECHANGE 0x00001000 #define FN_ATIMECHANGE 0x00002000 +/* vop_delayed_setsize should truncate the file */ +#define FN_DELAYED_TRUNCATE 0x00004000 + +#define CACHED_ATTR_LOCK(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \ + mtx_lock(&VTOFUD(vp)->cached_attr_mtx); \ +} while(0) + +#define CACHED_ATTR_UNLOCK(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \ + mtx_unlock(&VTOFUD(vp)->cached_attr_mtx); \ +} while(0) + struct fuse_vnode_data { - /** self **/ + /* self's node id, similar to an inode number. Immutable. */ uint64_t nid; + /* + * Generation number. Distinguishes files with same nid but that don't + * overlap in time. Immutable. + */ uint64_t generation; - /** parent **/ + /* parent's node id. Protected by the vnode lock. */ uint64_t parent_nid; /** I/O **/ - /* List of file handles for all of the vnode's open file descriptors */ + /* + * List of file handles for all of the vnode's open file descriptors. + * Protected by the vnode lock. + */ LIST_HEAD(, fuse_filehandle) handles; - /** flags **/ - uint32_t flag; + /* Protects flag, attr_cache_timeout and cached_attrs */ + struct mtx cached_attr_mtx; - /** meta **/ - /* The monotonic time after which the attr cache is invalid */ + /* + * The monotonic time after which the attr cache is invalid + * Protected by an exclusive vnode lock or the cached_attr_mtx + */ struct bintime attr_cache_timeout; - /* + + /* * Monotonic time after which the entry is invalid. Used for lookups - * by nodeid instead of pathname. + * by nodeid instead of pathname. Protected by the vnode lock. */ struct bintime entry_cache_timeout; + /* * Monotonic time of the last FUSE operation that modified the file * size. Used to avoid races between mutator ops like VOP_SETATTR and - * unlocked accessor ops like VOP_LOOKUP. + * unlocked accessor ops like VOP_LOOKUP. Protected by the vnode lock. */ struct timespec last_local_modify; + + /* Protected by an exclusive vnode lock or the cached_attr_mtx */ struct vattr cached_attrs; + + /* Number of FUSE_LOOKUPs minus FUSE_FORGETs. Protected by vnode lock */ uint64_t nlookup; + + /* + * Misc flags. Protected by an exclusive vnode lock or the + * cached_attr_mtx, because some of the flags reflect the contents of + * cached_attrs. + */ + uint32_t flag; + + /* Vnode type. Immutable */ __enum_uint8(vtype) vtype; + + /* State for clustered writes. Protected by vnode lock */ struct vn_clusterw clusterw; }; @@ -141,18 +189,32 @@ struct fuse_fid { #define VTOFUD(vp) \ ((struct fuse_vnode_data *)((vp)->v_data)) #define VTOI(vp) (VTOFUD(vp)->nid) + +#define ASSERT_CACHED_ATTRS_LOCKED(vp) \ +do { \ + ASSERT_VOP_LOCKED(vp, __func__); \ + VNASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE || \ + mtx_owned(&VTOFUD(vp)->cached_attr_mtx), vp, \ + ("cached attrs not locked")); \ +} while(0) + static inline bool fuse_vnode_attr_cache_valid(struct vnode *vp) { + struct fuse_vnode_data *fvdat = VTOFUD(vp); struct bintime now; + ASSERT_CACHED_ATTRS_LOCKED(vp); + getbinuptime(&now); - return (bintime_cmp(&(VTOFUD(vp)->attr_cache_timeout), &now, >)); + return (bintime_cmp(&fvdat->attr_cache_timeout, &now, >)); } static inline struct vattr* VTOVA(struct vnode *vp) { + ASSERT_CACHED_ATTRS_LOCKED(vp); + if (fuse_vnode_attr_cache_valid(vp)) return &(VTOFUD(vp)->cached_attrs); else @@ -162,6 +224,8 @@ VTOVA(struct vnode *vp) static inline void fuse_vnode_clear_attr_cache(struct vnode *vp) { + ASSERT_CACHED_ATTRS_LOCKED(vp); + bintime_clear(&VTOFUD(vp)->attr_cache_timeout); } @@ -184,10 +248,14 @@ static inline void fuse_vnode_setparent(struct vnode *vp, struct vnode *dvp) { if (dvp != NULL && vp->v_type == VDIR) { + ASSERT_VOP_ELOCKED(vp, __func__); /* for parent_nid */ + MPASS(dvp->v_type == VDIR); VTOFUD(vp)->parent_nid = VTOI(dvp); VTOFUD(vp)->flag |= FN_PARENT_NID; } else { + ASSERT_CACHED_ATTRS_LOCKED(vp); + VTOFUD(vp)->flag &= ~FN_PARENT_NID; } } @@ -207,6 +275,7 @@ void fuse_vnode_open(struct vnode *vp, int32_t fuse_open_flags, int fuse_vnode_savesize(struct vnode *vp, struct ucred *cred, pid_t pid); int fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server); +int fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink); void fuse_vnode_undirty_cached_timestamps(struct vnode *vp, bool atime); diff --git a/sys/fs/fuse/fuse_vfsops.c b/sys/fs/fuse/fuse_vfsops.c index a5118aa7675f..7b6ad86e4b2b 100644 --- a/sys/fs/fuse/fuse_vfsops.c +++ b/sys/fs/fuse/fuse_vfsops.c @@ -601,6 +601,8 @@ fuse_vfsop_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) error = fuse_vnode_get(mp, feo, nodeid, NULL, vpp, NULL, vtyp); if (error) goto out; + /* for last_local_modify and fuse_internal_cache_attrs */ + ASSERT_VOP_ELOCKED(*vpp, __func__); fvdat = VTOFUD(*vpp); if (timespeccmp(&now, &fvdat->last_local_modify, >)) { diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index c66d3bcf01e0..ad7a2dcf84ef 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -134,6 +134,7 @@ static vop_close_t fuse_vnop_close; static vop_copy_file_range_t fuse_vnop_copy_file_range; static vop_create_t fuse_vnop_create; static vop_deallocate_t fuse_vnop_deallocate; +static vop_delayed_setsize_t fuse_vnop_delayed_setsize; static vop_deleteextattr_t fuse_vnop_deleteextattr; static vop_fdatasync_t fuse_vnop_fdatasync; static vop_fsync_t fuse_vnop_fsync; @@ -191,6 +192,7 @@ struct vop_vector fuse_vnops = { .vop_copy_file_range = fuse_vnop_copy_file_range, .vop_create = fuse_vnop_create, .vop_deallocate = fuse_vnop_deallocate, + .vop_delayed_setsize = fuse_vnop_delayed_setsize, .vop_deleteextattr = fuse_vnop_deleteextattr, .vop_fsync = fuse_vnop_fsync, .vop_fdatasync = fuse_vnop_fdatasync, @@ -707,6 +709,8 @@ fuse_vnop_allocate(struct vop_allocate_args *ap) return (EXTERROR(EOPNOTSUPP, "This server does not implement " "FUSE_FALLOCATE")); + ASSERT_CACHED_ATTRS_LOCKED(vp); + io.uio_offset = *offset; io.uio_resid = *len; err = vn_rlimit_fsize(vp, &io, curthread); @@ -779,7 +783,7 @@ fuse_vnop_bmap(struct vop_bmap_args *ap) struct fuse_data *data; struct fuse_vnode_data *fvdat = VTOFUD(vp); uint64_t biosize; - off_t fsize; + off_t fsize = VNOVAL; daddr_t lbn = ap->a_bn; daddr_t *pbn = ap->a_bnp; int *runp = ap->a_runp; @@ -822,9 +826,10 @@ fuse_vnop_bmap(struct vop_bmap_args *ap) * and the risk of getting it wrong is not worth the cost of * another upcall. */ - if (fvdat->cached_attrs.va_size != VNOVAL) - fsize = fvdat->cached_attrs.va_size; - else + CACHED_ATTR_LOCK(vp); + fsize = fvdat->cached_attrs.va_size; + CACHED_ATTR_UNLOCK(vp); + if (fsize == VNOVAL) error = fuse_vnode_size(vp, &fsize, td->td_ucred, td); if (error == 0) *runp = MIN(MAX(0, fsize / (off_t)biosize - lbn - 1), @@ -894,6 +899,7 @@ fuse_vnop_close(struct vop_close_args *ap) cred = td->td_ucred; err = fuse_flush(vp, cred, pid, fflag); + ASSERT_CACHED_ATTRS_LOCKED(vp); /* For fvdat->flag */ if (err == 0 && (fvdat->flag & FN_ATIMECHANGE) && !vfs_isrdonly(mp)) { struct vattr vap; struct fuse_data *data; @@ -911,6 +917,7 @@ fuse_vnop_close(struct vop_close_args *ap) } if (access_e == 0) { VATTR_NULL(&vap); + ASSERT_CACHED_ATTRS_LOCKED(vp); vap.va_atime = fvdat->cached_attrs.va_atime; /* * Ignore errors setting when setting atime. That @@ -1035,6 +1042,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) *ap->a_inoffp += fwo->size; *ap->a_outoffp += fwo->size; fuse_internal_clear_suid_on_write(outvp, outcred, td); + ASSERT_CACHED_ATTRS_LOCKED(outvp); if (*ap->a_outoffp > outfvdat->cached_attrs.va_size) { fuse_vnode_setsize(outvp, *ap->a_outoffp, false); getnanouptime(&outfvdat->last_local_modify); @@ -1337,6 +1345,7 @@ fuse_vnop_inactive(struct vop_inactive_args *ap) int need_flush = 1; + ASSERT_CACHED_ATTRS_LOCKED(vp); /* For fvdat->flag */ LIST_FOREACH_SAFE(fufh, &fvdat->handles, next, fufh_tmp) { if (need_flush && vp->v_type == VREG) { if ((VTOFUD(vp)->flag & FN_SIZECHANGE) != 0) { @@ -1557,6 +1566,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap) else if ((err = fuse_internal_access(dvp, VEXEC, td, cred))) return err; + ASSERT_CACHED_ATTRS_LOCKED(dvp); /* For flag */ is_dot = cnp->cn_namelen == 1 && *(cnp->cn_nameptr) == '.'; if (isdotdot && !(data->dataflags & FSESS_EXPORT_SUPPORT)) { if (!(VTOFUD(dvp)->flag & FN_PARENT_NID)) { @@ -1960,6 +1970,10 @@ fuse_vnop_read(struct vop_read_args *ap) "to be closed")); } + /* + * XXX Check this flag without the lock. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ if (VTOFUD(vp)->flag & FN_DIRECTIO) { ioflag |= IO_DIRECT; } @@ -2220,6 +2234,8 @@ fuse_vnop_remove(struct vop_remove_args *ap) return err; } +SDT_PROBE_DEFINE4(fusefs, , vnops, erelookup, "struct vnode*", + "struct vnode*", "struct vnode*", "struct vnode*"); /* struct vnop_rename_args { struct vnode *a_fdvp; @@ -2242,6 +2258,7 @@ fuse_vnop_rename(struct vop_rename_args *ap) struct fuse_data *data; bool newparent = fdvp != tdvp; bool isdir = fvp->v_type == VDIR; + int locktype; int err = 0; if (fuse_isdeadfs(fdvp)) { @@ -2270,11 +2287,32 @@ fuse_vnop_rename(struct vop_rename_args *ap) * have write permission to it, so ".." can be modified. */ data = fuse_get_mpdata(vnode_mount(tdvp)); + + if (tdvp != fdvp) + locktype = LK_EXCLUSIVE; /* for fuse_vnode_setparent */ + else + locktype = LK_SHARED; + + /* + * Must use LK_NOWAIT to prevent LORs between fvp and tdvp or + * tvp + */ + if (vn_lock(fvp, locktype | LK_NOWAIT) != 0) { + /* + * Can't release tdvp or tvp to try avoiding the LOR. + * Must return instead. + */ + SDT_PROBE4(fusefs, , vnops, erelookup, fdvp, fvp, tdvp, + tvp); + err = ERELOOKUP; + goto out; + } + if (data->dataflags & FSESS_DEFAULT_PERMISSIONS && isdir && newparent) { err = fuse_internal_access(fvp, VWRITE, curthread, tcnp->cn_cred); if (err) - goto out; + goto unlock; } err = fuse_internal_rename(fdvp, fcnp, tdvp, tcnp); if (err == 0) { @@ -2293,6 +2331,8 @@ fuse_vnop_rename(struct vop_rename_args *ap) } cache_purge(fdvp); } +unlock: + VOP_UNLOCK(fvp); out: if (tdvp == tvp) { vrele(tdvp); @@ -2568,6 +2608,7 @@ static int fuse_vnop_write(struct vop_write_args *ap) { struct vnode *vp = ap->a_vp; + struct fuse_vnode_data *fvdat = VTOFUD(vp); struct uio *uio = ap->a_uio; int ioflag = ap->a_ioflag; struct ucred *cred = ap->a_cred; @@ -2583,9 +2624,12 @@ fuse_vnop_write(struct vop_write_args *ap) "to be closed")); } - if (VTOFUD(vp)->flag & FN_DIRECTIO) { + /* + * XXX Check this flag without the lock. See + * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293088 + */ + if (fvdat->flag & FN_DIRECTIO) ioflag |= IO_DIRECT; - } err = fuse_filehandle_getrw(vp, FWRITE, &fufh, cred, pid); if (err == EBADF && vnode_mount(vp)->mnt_flag & MNT_EXPORTED) { @@ -3219,6 +3263,29 @@ fallback: return (vop_stddeallocate(ap)); } +/* + struct vop_delayed_setsize_args { + struct vop_generic_args a_gen; + struct vnode *a_vp; + }; + */ +static int +fuse_vnop_delayed_setsize(struct vop_delayed_setsize_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct fuse_vnode_data *fvdat = VTOFUD(ap->a_vp); + bool shrink = (fvdat->flag & FN_DELAYED_TRUNCATE) != 0; + int err; + + if (!fvdat) + return (0); + + err = fuse_vnode_setsize_immediate(vp, shrink); + fvdat->flag &= ~FN_DELAYED_TRUNCATE; + + return (err); +} + /* struct vop_deleteextattr_args { struct vop_generic_args a_gen; diff --git a/tests/sys/fs/fusefs/bmap.cc b/tests/sys/fs/fusefs/bmap.cc index e61dadb6d79e..622a3c3debcc 100644 --- a/tests/sys/fs/fusefs/bmap.cc +++ b/tests/sys/fs/fusefs/bmap.cc @@ -44,10 +44,13 @@ using namespace testing; const static char FULLPATH[] = "mountpoint/foo"; const static char RELPATH[] = "foo"; -class Bmap: public FuseTest { +class Bmap: public FuseTest, + public WithParamInterface> +{ public: virtual void SetUp() { m_maxreadahead = UINT32_MAX; + m_init_flags |= get<0>(GetParam()); FuseTest::SetUp(); } void expect_bmap(uint64_t ino, uint64_t lbn, uint32_t blocksize, uint64_t pbn) @@ -73,12 +76,12 @@ void expect_lookup(const char *relpath, uint64_t ino, off_t size) } }; -class BmapEof: public Bmap, public WithParamInterface {}; +class BmapEof: public Bmap {}; /* * Test FUSE_BMAP */ -TEST_F(Bmap, bmap) +TEST_P(Bmap, bmap) { struct fiobmap2_arg arg; /* @@ -124,7 +127,7 @@ TEST_F(Bmap, bmap) * If the daemon does not implement VOP_BMAP, fusefs should return sensible * defaults. */ -TEST_F(Bmap, default_) +TEST_P(Bmap, default_) { struct fiobmap2_arg arg; const off_t filesize = 1 << 30; @@ -181,7 +184,7 @@ TEST_F(Bmap, default_) * The server returns an error for some reason for FUSE_BMAP. fusefs should * faithfully report that error up to the caller. */ -TEST_F(Bmap, einval) +TEST_P(Bmap, einval) { struct fiobmap2_arg arg; const off_t filesize = 1 << 30; @@ -217,7 +220,7 @@ TEST_F(Bmap, einval) * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264196 . The bug did not * lie in fusefs, but this is a convenient place for a regression test. */ -TEST_F(Bmap, spurious_einval) +TEST_P(Bmap, spurious_einval) { const off_t filesize = 4ull << 30; const ino_t ino = 42; @@ -288,7 +291,7 @@ TEST_P(BmapEof, eof) int fd; int ngetattrs; - ngetattrs = GetParam(); + ngetattrs = get<1>(GetParam()); FuseTest::expect_lookup(RELPATH, ino, mode, filesize, 1, 0); expect_open(ino, 0, 1); // Depending on ngetattrs, FUSE_READ could be called with either @@ -348,6 +351,17 @@ TEST_P(BmapEof, eof) leak(fd); } -INSTANTIATE_TEST_SUITE_P(BE, BmapEof, - Values(1, 2, 3) -); +/* + * Try with and without async reads, because it affects the type of vnode lock + * on entry to fuse_vnop_bmap. + */ +INSTANTIATE_TEST_SUITE_P(B, Bmap, Values( + tuple(0, 0), + tuple(FUSE_ASYNC_READ, 0) +)); + +INSTANTIATE_TEST_SUITE_P(BE, BmapEof, Values( + tuple(0, 1), + tuple(0, 2), + tuple(0, 3) +)); diff --git a/tests/sys/fs/fusefs/notify.cc b/tests/sys/fs/fusefs/notify.cc index d370a1e6e706..69742fb2a54b 100644 --- a/tests/sys/fs/fusefs/notify.cc +++ b/tests/sys/fs/fusefs/notify.cc @@ -47,8 +47,15 @@ using namespace testing; * invalidation. This file tests our client's handling of those messages. */ -class Notify: public FuseTest { +class Notify: public FuseTest, + public WithParamInterface +{ public: +virtual void SetUp() { + m_init_flags |= GetParam(); + FuseTest::SetUp(); +} + /* Ignore an optional FUSE_FSYNC */ void maybe_expect_fsync(uint64_t ino) { @@ -154,7 +161,7 @@ static void* store(void* arg) { } /* Invalidate a nonexistent entry */ -TEST_F(Notify, inval_entry_nonexistent) +TEST_P(Notify, inval_entry_nonexistent) { const static char *name = "foo"; struct inval_entry_args iea; @@ -173,7 +180,7 @@ TEST_F(Notify, inval_entry_nonexistent) } /* Invalidate a cached entry */ -TEST_F(Notify, inval_entry) +TEST_P(Notify, inval_entry) { const static char FULLPATH[] = "mountpoint/foo"; *** 404 LINES SKIPPED *** From nobody Thu Mar 12 16:37:36 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWtZS1Sdgz6Vc2T for ; Thu, 12 Mar 2026 16:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWtZS1CStz3Dbg for ; Thu, 12 Mar 2026 16:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bB5D2LwHyzRruaZmY+VaO/FXlVch2GdgL7zFq0UQ6pg=; b=W8DVWBytWUlMAbNbRKmNGcU6KgfCJ94sn4BtbPlJEKqzPLxZL4B/jaP/aYM7/FRcwuvmrw Bm1pssGB4pDIrR+6w3skOxq5lAGo2CiDsko4K6NjV1IsRNeZghkBxZNJMrBmAmZ8g7JPcj lOXTkg9GoBRj5zNX8d5xzklegS7YprxIkCsqUYFmIR8vmXCezYrOnFQjiEZ8dorAN4g3E8 UtY92t3nMuD1muUvI+tjux/1o2n8hi0AL+tl1JAzxNnY+gomu9SAwiEzv0RPDAEoa49VQy hstkHlNgvFMEIhC6797MnWJCbs2Ti5N1lbIEJUzjNSBygoqEWO0VEXg0qs+iQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773333456; a=rsa-sha256; cv=none; b=Aq5IFQRc4fJXPM+wgOH2NfeBDHoBGA6CsA6jxoCeZVR/fTn8pAXNgcH34XbpARM9vCqjpv T2auGPpsCId66x6rkpy5oMfckaeW/1JShYRw/AzaCQptUW0a3hd1lq36IG6s07cDFhKCp9 iDqHdN2LeqCyW1vvY7zTNVjRRbJKZYUtT0ZGO/QtcHPopKQWHmglLU353A9TD2IAvHr6rw 4Dm5+Vr9c28+X6cySdxZW2VmoY0OrRVJG6X9EUN41WHdJnvTP9QRQwYpo9V8dGh/yToHYs vMP/elcxVSsrxh0rubjLyIEyCyxmNvL2yS9xkQ3VRcZNNJuF3dER79yWMMoBuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bB5D2LwHyzRruaZmY+VaO/FXlVch2GdgL7zFq0UQ6pg=; b=K64O7flJlMo/FxcibsVy4XqEoy58uZ1mJyfzWL2GdBlTKcOQUUl6RkRNf/tx7wzsUlYFZg Mv0Q3zz0dHUHGUnFF2itQQpma3TT7iROPxAnNA6SIlZKn85jZwkw7xaQyt/o6NQCkqOtjA XRlxvjZVLoH6+yJUqWo1OlSeEA1PE9BfT8hchrWC6ATrgP6L3hEKsQPT3Um72hgk3R2yv6 u163UDmymK3/cZAu0b/pQloQ/mFm2Dpgp5X0kcl/g7ke23ojzFvriv5iDeMhvrmrgQ49Qb j0odUy8oDhCrNajcwo4CX91gEvo87TleiEYrOHQSrfBvWv7emlvcul9t7Vee+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWtZS0gxzztHG for ; Thu, 12 Mar 2026 16:37:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43f2d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:37:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 72472e52e310 - main - carp: retire ioctl(2) API List-Id: Commit messages for the main 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: 72472e52e310ec348949a3a67d3fa17e33fb8e50 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:37:36 +0000 Message-Id: <69b2ebd0.43f2d.56e7eb20@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=72472e52e310ec348949a3a67d3fa17e33fb8e50 commit 72472e52e310ec348949a3a67d3fa17e33fb8e50 Author: Gleb Smirnoff AuthorDate: 2026-03-12 16:30:46 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 16:37:26 +0000 carp: retire ioctl(2) API All supported stable branches use netlink(4) API to configure carp(4). The deleted code also has kernel stack leak vulnerability, that requires extra effort to fix. Reviewed by: pouria, kp Differential Revision: https://reviews.freebsd.org/D55804 --- sbin/ifconfig/carp.c | 9 +- share/man/man4/carp.4 | 12 +- sys/net/if.c | 10 -- sys/netinet/ip_carp.c | 437 ++++++++++++++------------------------------------ sys/netinet/ip_carp.h | 15 -- sys/sys/param.h | 2 +- 6 files changed, 133 insertions(+), 352 deletions(-) diff --git a/sbin/ifconfig/carp.c b/sbin/ifconfig/carp.c index 7c7398f92d48..f9737a9cb97c 100644 --- a/sbin/ifconfig/carp.c +++ b/sbin/ifconfig/carp.c @@ -156,8 +156,13 @@ setcarp_callback(if_ctx *ctx, void *arg __unused) if (carpr_vrrp_adv_inter != 0) carpr.carpr_vrrp_adv_inter = carpr_vrrp_adv_inter; - if (ifconfig_carp_set_info(lifh, ctx->ifname, &carpr)) - err(1, "SIOCSVH"); + if (ifconfig_carp_set_info(lifh, ctx->ifname, &carpr)) { + if (ifconfig_err_errtype(lifh) == OTHER) + err(1, "%s: %s", __func__, + strerror(ifconfig_err_errno(lifh))); + else + err(1, "%s: %d", __func__, ifconfig_err_errtype(lifh)); + } } static void diff --git a/share/man/man4/carp.4 b/share/man/man4/carp.4 index c972e0288791..4b0ece3b551f 100644 --- a/share/man/man4/carp.4 +++ b/share/man/man4/carp.4 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 12, 2024 +.Dd March 11, 2026 .Dt CARP 4 .Os .Sh NAME @@ -71,10 +71,7 @@ and .Cm advskew are put inside CARP advertisements. These values can be configured using -.Xr ifconfig 8 , -or through the -.Dv SIOCSVH -.Xr ioctl 2 . +.Xr ifconfig 8 . .Pp CARP defaults to using multicast messages, but can be configured to unicast announcements to peers using the @@ -88,10 +85,7 @@ and Note that TTL verification is disabled if the peer address is not a multicast address. These values can be configured using -.Xr ifconfig 8 , -or through the -.Dv SIOCSPEER -.Xr ioctl 2 . +.Xr ifconfig 8 . .Pp .Xr carp 4 can be configured to use either the non-standard CARP protocol, or VRRPv3 (RFC 5798). diff --git a/sys/net/if.c b/sys/net/if.c index 5c4b1e17f77d..96da4da8c6c1 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -248,7 +248,6 @@ int (*carp_master_p)(struct ifaddr *); int (*carp_forus_p)(struct ifnet *ifp, u_char *dhost); int (*carp_output_p)(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *sa); -int (*carp_ioctl_p)(struct ifreq *, u_long, struct thread *); int (*carp_attach_p)(struct ifaddr *, int); void (*carp_detach_p)(struct ifaddr *, bool); #endif @@ -2923,15 +2922,6 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct thread *td) error = if_getgroupmembers(req); goto out_noref; } -#if defined(INET) || defined(INET6) - case SIOCSVH: - case SIOCGVH: - if (carp_ioctl_p == NULL) - error = EPROTONOSUPPORT; - else - error = (*carp_ioctl_p)(ifr, cmd, td); - goto out_noref; -#endif } ifp = ifunit_ref(ifr->ifr_name); diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 3fedbda6b57f..32823c6c4a87 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -160,23 +160,6 @@ struct carp_if { #define CIF_PROMISC 0x00000001 }; -/* Kernel equivalent of struct carpreq, but with more fields for new features. - * */ -struct carpkreq { - int carpr_count; - int carpr_vhid; - int carpr_state; - int carpr_advskew; - int carpr_advbase; - unsigned char carpr_key[CARP_KEY_LEN]; - /* Everything above this is identical to carpreq */ - struct in_addr carpr_addr; - struct in6_addr carpr_addr6; - carp_version_t carpr_version; - uint8_t carpr_vrrp_priority; - uint16_t carpr_vrrp_adv_inter; -}; - /* * Brief design of carp(4). * @@ -2256,216 +2239,6 @@ carp_free_if(struct carp_if *cif) free(cif, M_CARP); } -static bool -carp_carprcp(void *arg, struct carp_softc *sc, int priv) -{ - struct carpreq *carpr = arg; - - CARP_LOCK(sc); - carpr->carpr_state = sc->sc_state; - carpr->carpr_vhid = sc->sc_vhid; - switch (sc->sc_version) { - case CARP_VERSION_CARP: - carpr->carpr_advbase = sc->sc_advbase; - carpr->carpr_advskew = sc->sc_advskew; - if (priv) - bcopy(sc->sc_key, carpr->carpr_key, - sizeof(carpr->carpr_key)); - else - bzero(carpr->carpr_key, sizeof(carpr->carpr_key)); - break; - case CARP_VERSION_VRRPv3: - break; - } - CARP_UNLOCK(sc); - - return (true); -} - -static int -carp_ioctl_set(if_t ifp, struct carpkreq *carpr) -{ - struct epoch_tracker et; - struct carp_softc *sc = NULL; - int error = 0; - - if (carpr->carpr_vhid <= 0 || carpr->carpr_vhid > CARP_MAXVHID) - return (EINVAL); - - switch (carpr->carpr_version) { - case CARP_VERSION_CARP: - if (carpr->carpr_advbase != 0 && (carpr->carpr_advbase > 255 || - carpr->carpr_advbase < CARP_DFLTINTV)) - return (EINVAL); - if (carpr->carpr_advskew < 0 || carpr->carpr_advskew >= 255) - return (EINVAL); - break; - case CARP_VERSION_VRRPv3: - /* XXXGL: shouldn't we check anything? */ - break; - default: - return (EINVAL); - } - - if (ifp->if_carp) { - IFNET_FOREACH_CARP(ifp, sc) - if (sc->sc_vhid == carpr->carpr_vhid) - break; - } - - if (sc == NULL) - sc = carp_alloc(ifp, carpr->carpr_version, carpr->carpr_vhid); - else if (sc->sc_version != carpr->carpr_version) - return (EINVAL); - - CARP_LOCK(sc); - switch (sc->sc_version) { - case CARP_VERSION_CARP: - if (carpr->carpr_advbase != 0) - sc->sc_advbase = carpr->carpr_advbase; - sc->sc_advskew = carpr->carpr_advskew; - if (carpr->carpr_addr.s_addr != INADDR_ANY) - sc->sc_carpaddr = carpr->carpr_addr; - if (!IN6_IS_ADDR_UNSPECIFIED(&carpr->carpr_addr6)) { - memcpy(&sc->sc_carpaddr6, &carpr->carpr_addr6, - sizeof(sc->sc_carpaddr6)); - } - if (carpr->carpr_key[0] != '\0') { - bcopy(carpr->carpr_key, sc->sc_key, sizeof(sc->sc_key)); - carp_hmac_prepare(sc); - } - break; - case CARP_VERSION_VRRPv3: - if (carpr->carpr_vrrp_priority != 0) - sc->sc_vrrp_prio = carpr->carpr_vrrp_priority; - if (carpr->carpr_vrrp_adv_inter) - sc->sc_vrrp_adv_inter = carpr->carpr_vrrp_adv_inter; - break; - } - - if (sc->sc_state != INIT && - carpr->carpr_state != sc->sc_state) { - switch (carpr->carpr_state) { - case BACKUP: - callout_stop(&sc->sc_ad_tmo); - carp_set_state(sc, BACKUP, - "user requested via ifconfig"); - carp_setrun(sc, 0); - carp_delroute(sc); - break; - case MASTER: - NET_EPOCH_ENTER(et); - carp_master_down_locked(sc, - "user requested via ifconfig"); - NET_EPOCH_EXIT(et); - break; - default: - break; - } - } - CARP_UNLOCK(sc); - - return (error); -} - -static int -carp_ioctl_get(if_t ifp, struct ucred *cred, struct carpreq *carpr, - bool (*outfn)(void *, struct carp_softc *, int), void *arg) -{ - int priveleged; - struct carp_softc *sc; - - if (carpr->carpr_vhid < 0 || carpr->carpr_vhid > CARP_MAXVHID) - return (EINVAL); - if (carpr->carpr_count < 1) - return (EMSGSIZE); - if (ifp->if_carp == NULL) - return (ENOENT); - - priveleged = (priv_check_cred(cred, PRIV_NETINET_CARP) == 0); - if (carpr->carpr_vhid != 0) { - IFNET_FOREACH_CARP(ifp, sc) - if (sc->sc_vhid == carpr->carpr_vhid) - break; - if (sc == NULL) - return (ENOENT); - - if (! outfn(arg, sc, priveleged)) - return (ENOMEM); - carpr->carpr_count = 1; - } else { - int count; - - count = 0; - IFNET_FOREACH_CARP(ifp, sc) - count++; - - if (count > carpr->carpr_count) - return (EMSGSIZE); - - IFNET_FOREACH_CARP(ifp, sc) { - if (! outfn(arg, sc, priveleged)) - return (ENOMEM); - carpr->carpr_count = count; - } - } - - return (0); -} - -int -carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) -{ - struct carpreq carpr; - struct carpkreq carprk = { - .carpr_version = CARP_VERSION_CARP, - }; - struct ifnet *ifp; - int error = 0; - - if ((error = copyin(ifr_data_get_ptr(ifr), &carpr, sizeof carpr))) - return (error); - - ifp = ifunit_ref(ifr->ifr_name); - if ((error = carp_is_supported_if(ifp)) != 0) - goto out; - - if ((ifp->if_flags & IFF_MULTICAST) == 0) { - error = EADDRNOTAVAIL; - goto out; - } - - sx_xlock(&carp_sx); - switch (cmd) { - case SIOCSVH: - if ((error = priv_check(td, PRIV_NETINET_CARP))) - break; - - memcpy(&carprk, &carpr, sizeof(carpr)); - error = carp_ioctl_set(ifp, &carprk); - break; - - case SIOCGVH: - error = carp_ioctl_get(ifp, td->td_ucred, &carpr, - carp_carprcp, &carpr); - if (error == 0) { - error = copyout(&carpr, - (char *)ifr_data_get_ptr(ifr), - carpr.carpr_count * sizeof(carpr)); - } - break; - default: - error = EINVAL; - } - sx_xunlock(&carp_sx); - -out: - if (ifp != NULL) - if_rele(ifp); - - return (error); -} - static int carp_get_vhid(struct ifaddr *ifa) { @@ -2757,67 +2530,6 @@ nlattr_get_carp_key(struct nlattr *nla, struct nl_pstate *npt, const void *arg, return (0); } -struct carp_nl_send_args { - struct nlmsghdr *hdr; - struct nl_pstate *npt; -}; - -static bool -carp_nl_send(void *arg, struct carp_softc *sc, int priv) -{ - struct carp_nl_send_args *nlsa = arg; - struct nlmsghdr *hdr = nlsa->hdr; - struct nl_pstate *npt = nlsa->npt; - struct nl_writer *nw = npt->nw; - struct genlmsghdr *ghdr_new; - - if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) { - nlmsg_abort(nw); - return (false); - } - - ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); - if (ghdr_new == NULL) { - nlmsg_abort(nw); - return (false); - } - - ghdr_new->cmd = CARP_NL_CMD_GET; - ghdr_new->version = 0; - ghdr_new->reserved = 0; - - CARP_LOCK(sc); - - nlattr_add_u32(nw, CARP_NL_VHID, sc->sc_vhid); - nlattr_add_u32(nw, CARP_NL_STATE, sc->sc_state); - nlattr_add_u8(nw, CARP_NL_VERSION, sc->sc_version); - switch (sc->sc_version) { - case CARP_VERSION_CARP: - nlattr_add_s32(nw, CARP_NL_ADVBASE, sc->sc_advbase); - nlattr_add_s32(nw, CARP_NL_ADVSKEW, sc->sc_advskew); - nlattr_add_in_addr(nw, CARP_NL_ADDR, &sc->sc_carpaddr); - nlattr_add_in6_addr(nw, CARP_NL_ADDR6, &sc->sc_carpaddr6); - if (priv) - nlattr_add(nw, CARP_NL_KEY, sizeof(sc->sc_key), - sc->sc_key); - break; - case CARP_VERSION_VRRPv3: - nlattr_add_u8(nw, CARP_NL_VRRP_PRIORITY, sc->sc_vrrp_prio); - nlattr_add_u16(nw, CARP_NL_VRRP_ADV_INTER, - sc->sc_vrrp_adv_inter); - break; - } - - CARP_UNLOCK(sc); - - if (! nlmsg_end(nw)) { - nlmsg_abort(nw); - return (false); - } - - return (true); -} - struct nl_carp_parsed { unsigned int ifindex; char *ifname; @@ -2856,16 +2568,20 @@ static int carp_nl_get(struct nlmsghdr *hdr, struct nl_pstate *npt) { struct nl_carp_parsed attrs = { }; - struct carp_nl_send_args args; - struct carpreq carpr = { }; struct epoch_tracker et; + struct nl_writer *nw = npt->nw; + struct carp_softc *sc; if_t ifp = NULL; int error; + bool privileged; error = nl_parse_nlmsg(hdr, &carp_parser, npt, &attrs); if (error != 0) return (error); + if (attrs.vhid < 0 || attrs.vhid > CARP_MAXVHID) + return (EINVAL); + NET_EPOCH_ENTER(et); if (attrs.ifname != NULL) ifp = ifunit_ref(attrs.ifname); @@ -2876,19 +2592,72 @@ carp_nl_get(struct nlmsghdr *hdr, struct nl_pstate *npt) if ((error = carp_is_supported_if(ifp)) != 0) goto out; - hdr->nlmsg_flags |= NLM_F_MULTI; - args.hdr = hdr; - args.npt = npt; + if (ifp->if_carp == NULL) { + error = ENOENT; + goto out; + } - carpr.carpr_vhid = attrs.vhid; - carpr.carpr_count = CARP_MAXVHID; + hdr->nlmsg_flags |= NLM_F_MULTI; + privileged = (priv_check_cred(nlp_get_cred(npt->nlp), + PRIV_NETINET_CARP) == 0); sx_xlock(&carp_sx); - error = carp_ioctl_get(ifp, nlp_get_cred(npt->nlp), &carpr, - carp_nl_send, &args); + IFNET_FOREACH_CARP(ifp, sc) { + struct genlmsghdr *ghdr_new; + + if (attrs.vhid != 0 && attrs.vhid != sc->sc_vhid) + continue; + + if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) { + nlmsg_abort(nw); + error = ENOMEM; + break; + } + + ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); + if (ghdr_new == NULL) { + nlmsg_abort(nw); + error = ENOMEM; + break; + } + + ghdr_new->cmd = CARP_NL_CMD_GET; + ghdr_new->version = 0; + ghdr_new->reserved = 0; + + CARP_LOCK(sc); + nlattr_add_u32(nw, CARP_NL_VHID, sc->sc_vhid); + nlattr_add_u32(nw, CARP_NL_STATE, sc->sc_state); + nlattr_add_u8(nw, CARP_NL_VERSION, sc->sc_version); + switch (sc->sc_version) { + case CARP_VERSION_CARP: + nlattr_add_s32(nw, CARP_NL_ADVBASE, sc->sc_advbase); + nlattr_add_s32(nw, CARP_NL_ADVSKEW, sc->sc_advskew); + nlattr_add_in_addr(nw, CARP_NL_ADDR, &sc->sc_carpaddr); + nlattr_add_in6_addr(nw, CARP_NL_ADDR6, + &sc->sc_carpaddr6); + if (privileged) + nlattr_add(nw, CARP_NL_KEY, sizeof(sc->sc_key), + sc->sc_key); + break; + case CARP_VERSION_VRRPv3: + nlattr_add_u8(nw, CARP_NL_VRRP_PRIORITY, + sc->sc_vrrp_prio); + nlattr_add_u16(nw, CARP_NL_VRRP_ADV_INTER, + sc->sc_vrrp_adv_inter); + break; + } + CARP_UNLOCK(sc); + + if (! nlmsg_end(nw)) { + nlmsg_abort(nw); + error = ENOMEM; + break; + } + } sx_xunlock(&carp_sx); - if (! nlmsg_end_dump(npt->nw, error, hdr)) + if (! nlmsg_end_dump(nw, error, hdr)) error = ENOMEM; out: @@ -2902,8 +2671,8 @@ static int carp_nl_set(struct nlmsghdr *hdr, struct nl_pstate *npt) { struct nl_carp_parsed attrs = { }; - struct carpkreq carpr; struct epoch_tracker et; + struct carp_softc *sc; if_t ifp = NULL; int error; @@ -2949,26 +2718,66 @@ carp_nl_set(struct nlmsghdr *hdr, struct nl_pstate *npt) goto out; } - carpr.carpr_count = 1; - carpr.carpr_vhid = attrs.vhid; - carpr.carpr_state = attrs.state; - carpr.carpr_version = attrs.version; - switch (attrs.version) { + sx_xlock(&carp_sx); + if (ifp->if_carp) { + IFNET_FOREACH_CARP(ifp, sc) + if (sc->sc_vhid == attrs.vhid) + break; + } else + sc = NULL; + if (sc == NULL) + sc = carp_alloc(ifp, attrs.version, attrs.vhid); + else if (sc->sc_version != attrs.version) { + sx_xunlock(&carp_sx); + error = EINVAL; + goto out; + } + + CARP_LOCK(sc); + switch (sc->sc_version) { case CARP_VERSION_CARP: - carpr.carpr_advbase = attrs.advbase; - carpr.carpr_advskew = attrs.advskew; - carpr.carpr_addr = attrs.addr; - carpr.carpr_addr6 = attrs.addr6; - memcpy(&carpr.carpr_key, &attrs.key, sizeof(attrs.key)); + if (attrs.advbase != 0) + sc->sc_advbase = attrs.advbase; + sc->sc_advskew = attrs.advskew; + if (attrs.addr.s_addr != INADDR_ANY) + sc->sc_carpaddr = attrs.addr; + if (!IN6_IS_ADDR_UNSPECIFIED(&attrs.addr6)) { + memcpy(&sc->sc_carpaddr6, &attrs.addr6, + sizeof(sc->sc_carpaddr6)); + } + if (attrs.key[0] != '\0') { + bcopy(attrs.key, sc->sc_key, sizeof(sc->sc_key)); + carp_hmac_prepare(sc); + } break; case CARP_VERSION_VRRPv3: - carpr.carpr_vrrp_priority = attrs.vrrp_prio; - carpr.carpr_vrrp_adv_inter = attrs.vrrp_adv_inter; + if (attrs.vrrp_prio != 0) + sc->sc_vrrp_prio = attrs.vrrp_prio; + if (attrs.vrrp_adv_inter) + sc->sc_vrrp_adv_inter = attrs.vrrp_adv_inter; break; } - sx_xlock(&carp_sx); - error = carp_ioctl_set(ifp, &carpr); + if (sc->sc_state != INIT && sc->sc_state != attrs.state) { + switch (attrs.state) { + case BACKUP: + callout_stop(&sc->sc_ad_tmo); + carp_set_state(sc, BACKUP, + "user requested via ifconfig"); + carp_setrun(sc, 0); + carp_delroute(sc); + break; + case MASTER: + NET_EPOCH_ENTER(et); + carp_master_down_locked(sc, + "user requested via ifconfig"); + NET_EPOCH_EXIT(et); + break; + default: + break; + } + } + CARP_UNLOCK(sc); sx_xunlock(&carp_sx); out: @@ -3035,7 +2844,6 @@ carp_mod_cleanup(void) carp_iamatch6_p = NULL; carp_macmatch6_p = NULL; #endif - carp_ioctl_p = NULL; carp_attach_p = NULL; carp_detach_p = NULL; carp_get_vhid_p = NULL; @@ -3070,7 +2878,6 @@ carp_mod_load(void) carp_forus_p = carp_forus; carp_output_p = carp_output; carp_linkstate_p = carp_linkstate; - carp_ioctl_p = carp_ioctl; carp_attach_p = carp_attach; carp_detach_p = carp_detach; carp_demote_adj_p = carp_demote_adj; diff --git a/sys/netinet/ip_carp.h b/sys/netinet/ip_carp.h index dc3d9a68b43b..8d82286feb7d 100644 --- a/sys/netinet/ip_carp.h +++ b/sys/netinet/ip_carp.h @@ -160,23 +160,10 @@ struct carpstats { uint64_t carps_preempt; /* if enabled, preemptions */ }; -/* - * Configuration structure for SIOCSVH SIOCGVH - */ -struct carpreq { - int carpr_count; - int carpr_vhid; #define CARP_MAXVHID 255 - int carpr_state; #define CARP_STATES "INIT", "BACKUP", "MASTER" #define CARP_MAXSTATE 2 - int carpr_advskew; #define CARP_MAXSKEW 240 - int carpr_advbase; - unsigned char carpr_key[CARP_KEY_LEN]; -}; -#define SIOCSVH _IOWR('i', 245, struct ifreq) -#define SIOCGVH _IOWR('i', 246, struct ifreq) typedef enum carp_version { CARP_VERSION_CARP = 2, @@ -184,7 +171,6 @@ typedef enum carp_version { } carp_version_t; #ifdef _KERNEL -int carp_ioctl(struct ifreq *, u_long, struct thread *); int carp_attach(struct ifaddr *, int); void carp_detach(struct ifaddr *, bool); void carp_carpdev_state(struct ifnet *); @@ -198,7 +184,6 @@ int carp_forus(struct ifnet *, u_char *); /* These are external networking stack hooks for CARP */ /* net/if.c */ -extern int (*carp_ioctl_p)(struct ifreq *, u_long, struct thread *); extern int (*carp_attach_p)(struct ifaddr *, int); extern void (*carp_detach_p)(struct ifaddr *, bool); extern void (*carp_linkstate_p)(struct ifnet *); diff --git a/sys/sys/param.h b/sys/sys/param.h index 99c1af5e55bf..7547409a16c7 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1600012 +#define __FreeBSD_version 1600013 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Thu Mar 12 16:40:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfD0HrHz6Vckg for ; Thu, 12 Mar 2026 16:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWtfC6hvgz3Fb9 for ; Thu, 12 Mar 2026 16:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YosNvTPzps/GCgSsnP3UIna+PRZbZz0sE/cwHaANOZI=; b=tev4wrn6Zr5XwnQeh/zijt3MkVuw/tsX1mo5cJKLhBZjRlbqguNYMKw6VDP/dVEJyj7Bxo c5ckknsQlM57m0HerLOcHcs/DCDUOdxF4jIRGzqp2pAQsqNwyj1FfwrP2QBvQvdEHVyiWn P/wGD2s8GeI6ADO7FGi4CeUQtAyonTS6pCqjd9bbSg9amaYTz2dxe9mHJfl5MIeIlJfCET CBmhGWX2S/lvvKZqPq9TiM/DT2Rqsg5SCFvYT+3cPQ2/qLBzY84mMjJWtr3voOHMvTph+a ZlxAgflkGn1spK1urVNHO3OZHq9aADlyrTf6MQpBsOsYzPrH2dKBd/zqRn0Amw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773333652; a=rsa-sha256; cv=none; b=CSww8e0kbPxFdUw0g03qGV7oHqh2yiFf03nzn58zKwnH9cLTEV1XXeOq+icrkjURkffsa9 h9fQHvqxi/iFbPhq8qS21W6XVZhbESJVqkvxUKg8HMQIaIUSYegoF+JvABjR7RxAyYlyVc 4KWmVnljlcryGci16197slku/KkbNjNmFUhBtQoncr7bRQn7FxYIOYATBHAcHX/uD7BdG0 +7HM97ATVdxmCTz94iYPEpMZpF/Eq0JXtvQ+FQ6X/0CTRh3Dd9q7pO6rT6NQSCu88WIEDz HymljWrmItnmXd7KfLaP2YysYSzWzW1dMuI0uRNZk0Ev8jWSxIx/BEUa1PVb3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YosNvTPzps/GCgSsnP3UIna+PRZbZz0sE/cwHaANOZI=; b=WpjJq6wXFJkjXDTeuFpQETKe0VtFrwxYO5MDSynWFSYWZk6vok/L6IP6ZUNX/0u6krVXFz mILu+Evnxai44gjVd5Fd+0meV4zV97PXRDYvCRfQ0crCE34IOsVe2ykWv51k2YmFxikRjQ SVQGLsyI6j99mpxNv2/kUv0+KmItJ7TTpQqjqMk6pn3Sdj+irFJq4RQ4RIYDPxsh26SuY2 M2yKBBp5c4Q/dq8xp42cUcTubPR5r8pWcwZkXc39sRi+M+PjlN9h6WZpzbqGLNSXEqIhGd CO8WjOhsANgDvZZu5n3JV54kojuN1M4xgDSmiPwvwCA16MGF/fYLeKhjiEgAoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfC68C7ztqX for ; Thu, 12 Mar 2026 16:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44d2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:40:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 985ac741384e - main - systat: remove kvm(3) support for -netstat mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 985ac741384ec65463669edee5e1d90dee4c895a Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:40:51 +0000 Message-Id: <69b2ec93.44d2a.2c71c859@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=985ac741384ec65463669edee5e1d90dee4c895a commit 985ac741384ec65463669edee5e1d90dee4c895a Author: Gleb Smirnoff AuthorDate: 2026-03-12 04:16:44 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 16:37:52 +0000 systat: remove kvm(3) support for -netstat mode The kvm(3) mode was actually non-functional since FreeBSD 8 for kernels with VIMAGE, since FreeBSD 12 for the GENERIC kernel and since FreeBSD 14 for all kernels. The reason for that is that systat(1) tried to lookup symbol "tcb" to check if kvm(3) is working. The symbol no longer exist in the kernel. A side effect was that systat(1) lost true kvm(3) support for all other modes, e.g. -swap or -pigs. The tool was still working, but libkvm was just a shim to sysctl(3) API. So, contrary to what the header line says, this change actually restores the kvm(3) support for other modes. Now we read the "allproc" symbol. This was the last tool that abused _WANT_INPCB. --- usr.bin/systat/extern.h | 2 - usr.bin/systat/main.c | 5 +- usr.bin/systat/netstat.c | 132 ++++------------------------------------------- usr.bin/systat/systat.h | 11 ---- 4 files changed, 14 insertions(+), 136 deletions(-) diff --git a/usr.bin/systat/extern.h b/usr.bin/systat/extern.h index 8d19aec024b4..4d9f686dcc65 100644 --- a/usr.bin/systat/extern.h +++ b/usr.bin/systat/extern.h @@ -69,8 +69,6 @@ extern int num_selected; extern int num_selections; extern long select_generation; -extern struct nlist namelist[]; - int checkhost(struct in_conninfo *); int checkport(struct in_conninfo *); void closeicmp(WINDOW *); diff --git a/usr.bin/systat/main.c b/usr.bin/systat/main.c index dbb82ebbb1c0..3582447281b6 100644 --- a/usr.bin/systat/main.c +++ b/usr.bin/systat/main.c @@ -64,7 +64,6 @@ char *namp; char hostname[MAXHOSTNAMELEN]; WINDOW *wnd; int CMDLINE; -int use_kvm = 1; static WINDOW *wload; /* one line window for load average */ @@ -166,6 +165,9 @@ main(int argc, char **argv) } kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf); if (kd != NULL) { + struct nlist namelist[] = { { .n_name = "allproc" }, + { .n_name = NULL } }; + /* * Try to actually read something, we may be in a jail, and * have /dev/null opened as /dev/mem. @@ -182,7 +184,6 @@ main(int argc, char **argv) * Maybe we are lacking permissions? Retry, this time with bogus * devices. We can now use sysctl only. */ - use_kvm = 0; kd = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, _PATH_DEVNULL, O_RDONLY, errbuf); if (kd == NULL) { diff --git a/usr.bin/systat/netstat.c b/usr.bin/systat/netstat.c index d9a0266aaea4..31838fc207d8 100644 --- a/usr.bin/systat/netstat.c +++ b/usr.bin/systat/netstat.c @@ -38,7 +38,6 @@ #include #include #include -#define _WANT_SOCKET #include #include @@ -50,7 +49,6 @@ #ifdef INET6 #include #endif -#define _WANT_INPCB #include #include #include @@ -60,7 +58,6 @@ #include #define TCPSTATES #include -#define _WANT_TCPCB #include #include #include @@ -74,11 +71,7 @@ #include "systat.h" #include "extern.h" -static struct netinfo *enter(struct in_conninfo *, uint8_t, int, const char *); -static void enter_kvm(struct inpcb *, struct socket *, int, const char *); -static void enter_sysctl(struct xinpcb *, struct xsocket *, int, const char *); -static void fetchnetstat_kvm(void); -static void fetchnetstat_sysctl(void); +static void enter(struct xinpcb *, struct xsocket *so, int, const char *); static char *inetname(struct sockaddr *); static void inetprint(struct sockaddr *, const char *); @@ -138,16 +131,6 @@ static const char *miblist[] = { "net.inet.udp.pcblist" }; -static char tcb[] = "tcb", udb[] = "udb"; - -struct nlist namelist[] = { -#define X_TCB 0 - { .n_name = tcb }, -#define X_UDB 1 - { .n_name = udb }, - { .n_name = NULL }, -}; - int initnetstat(void) { @@ -157,77 +140,6 @@ initnetstat(void) void fetchnetstat(void) -{ - if (use_kvm) - fetchnetstat_kvm(); - else - fetchnetstat_sysctl(); -} - -static void -fetchnetstat_kvm(void) -{ - struct netinfo *p; - struct inpcbhead head; - struct socket sockb; - struct tcpcb tcpcb; - struct inpcb *inpcb; - void *off; - int istcp; - - if (namelist[X_TCB].n_value == 0) - return; - TAILQ_FOREACH(p, &netcb, chain) - p->ni_seen = 0; - if (protos&TCP) { - off = NPTR(X_TCB); - istcp = 1; - } - else if (protos&UDP) { - off = NPTR(X_UDB); - istcp = 0; - } - else { - error("No protocols to display"); - return; - } -again: - KREAD(off, &head, sizeof (struct inpcbhead)); - LIST_FOREACH(inpcb, &head, inp_list) { - KREAD(inpcb, &tcpcb, istcp ? sizeof(tcpcb) : sizeof(inpcb)); - inpcb = (struct inpcb *)&tcpcb; - if (!aflag) { - if (inpcb->inp_vflag & INP_IPV4) { - if (inpcb->inp_laddr.s_addr == INADDR_ANY) - continue; - } -#ifdef INET6 - else if (inpcb->inp_vflag & INP_IPV6) { - if (memcmp(&inpcb->in6p_laddr, - &in6addr_any, sizeof(in6addr_any)) == 0) - continue; - } -#endif - } - if (nhosts && !checkhost(&inpcb->inp_inc)) - continue; - if (nports && !checkport(&inpcb->inp_inc)) - continue; - if (istcp) { - KREAD(inpcb->inp_socket, &sockb, sizeof (sockb)); - enter_kvm(inpcb, &sockb, tcpcb.t_state, "tcp"); - } else - enter_kvm(inpcb, &sockb, 0, "udp"); - } - if (istcp && (protos&UDP)) { - istcp = 0; - off = NPTR(X_UDB); - goto again; - } -} - -static void -fetchnetstat_sysctl(void) { struct netinfo *p; int idx; @@ -303,41 +215,20 @@ fetchnetstat_sysctl(void) if (nports && !checkport(&xip->inp_inc)) continue; if (idx == 0) - enter_sysctl(xip, &xip->xi_socket, - xtp->t_state, "tcp"); + enter(xip, &xip->xi_socket, xtp->t_state, + "tcp"); else - enter_sysctl(xip, &xip->xi_socket, 0, "udp"); + enter(xip, &xip->xi_socket, 0, "udp"); } free(inpg); } } static void -enter_kvm(struct inpcb *inp, struct socket *so, int state, const char *proto) -{ - struct netinfo *p; - - if ((p = enter(&inp->inp_inc, inp->inp_vflag, state, proto)) != NULL) { - p->ni_rcvcc = so->so_rcv.sb_ccc; - p->ni_sndcc = so->so_snd.sb_ccc; - } -} - -static void -enter_sysctl(struct xinpcb *xip, struct xsocket *so, int state, - const char *proto) -{ - struct netinfo *p; - - if ((p = enter(&xip->inp_inc, xip->inp_vflag, state, proto)) != NULL) { - p->ni_rcvcc = so->so_rcv.sb_cc; - p->ni_sndcc = so->so_snd.sb_cc; - } -} - -static struct netinfo * -enter(struct in_conninfo *inc, uint8_t vflag, int state, const char *proto) +enter(struct xinpcb *xip, struct xsocket *so, int state, const char *proto) { + struct in_conninfo *inc = &xip->inp_inc; + uint8_t vflag = xip->inp_vflag; struct netinfo *p; struct sockaddr_storage lsa, fsa; struct sockaddr_in *sa4; @@ -378,7 +269,7 @@ enter(struct in_conninfo *inc, uint8_t vflag, int state, const char *proto) } #endif else - return NULL; + return; /* * Only take exact matches, any sockets with @@ -400,7 +291,7 @@ enter(struct in_conninfo *inc, uint8_t vflag, int state, const char *proto) if (p == NULL) { if ((p = malloc(sizeof(*p))) == NULL) { error("Out of memory"); - return NULL; + return; } TAILQ_INSERT_HEAD(&netcb, p, chain); p->ni_line = -1; @@ -411,7 +302,8 @@ enter(struct in_conninfo *inc, uint8_t vflag, int state, const char *proto) } p->ni_state = state; p->ni_seen = 1; - return p; + p->ni_rcvcc = so->so_rcv.sb_cc; + p->ni_sndcc = so->so_snd.sb_cc; } /* column locations */ @@ -425,8 +317,6 @@ enter(struct in_conninfo *inc, uint8_t vflag, int state, const char *proto) void labelnetstat(void) { - if (use_kvm && namelist[X_TCB].n_type == 0) - return; wmove(wnd, 0, 0); wclrtobot(wnd); mvwaddstr(wnd, 0, LADDR, "Local Address"); mvwaddstr(wnd, 0, FADDR, "Foreign Address"); diff --git a/usr.bin/systat/systat.h b/usr.bin/systat/systat.h index 55a21a04998a..371fdf57f6fc 100644 --- a/usr.bin/systat/systat.h +++ b/usr.bin/systat/systat.h @@ -45,13 +45,6 @@ struct cmdtab { char c_flags; /* see below */ }; -/* - * If we are started with privileges, use a kmem interface for netstat handling, - * otherwise use sysctl. - * In case of many open sockets, the sysctl handling might become slow. - */ -extern int use_kvm; - #define CF_INIT 0x1 /* been initialized */ #define CF_LOADAV 0x2 /* display w/ load average */ #define CF_ZFSARC 0x4 /* display w/ ZFS cache usage */ @@ -62,10 +55,6 @@ extern int use_kvm; #define MAINWIN_ROW 3 /* top row for the main/lower window */ #define GETSYSCTL(name, var) getsysctl(name, &(var), sizeof(var)) -#define KREAD(addr, buf, len) kvm_ckread((addr), (buf), (len)) -#define NVAL(indx) namelist[(indx)].n_value -#define NPTR(indx) (void *)NVAL((indx)) -#define NREAD(indx, buf, len) kvm_ckread(NPTR((indx)), (buf), (len)) extern void putint(int, int, int, int); extern void putfloat(double, int, int, int, int, int); From nobody Thu Mar 12 16:40:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfF28RGz6Vch9 for ; Thu, 12 Mar 2026 16:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWtfF0Wzqz3FQ1 for ; Thu, 12 Mar 2026 16:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g5d5QPRpT8kNAZllBd9RrKamBJX6FrPknR+lqwVesNE=; b=UGaTYFP97CKxnPubd9ZrTaMnH3IOEnJbjxMDQD2BlmM31+OzumQkzFn7POlIMgKBQpB5IW VJps45X5WxqN+98RfWkbqiXpeuOXuaZk2ixiX3NVjVBHWsVqXHwO/QkV7GNFy+J+TQe9+a MAsFJrOcPkZ6/U0EivJNktsOBk1J0EKMa+k9wKmZHeYuMzT7GP2gPf+/7FRI0anL3LdQZU ncdmdrX9fCKMw1xDOqxgnN6MH6da1GZq053uaI2w6AZmtMiObnOHMd1vS3e43H8ALHNDyg OSxnzfwsziyvfZB7yhKOw5YWVYJnR7HkTVwOng11oylQunV32hAFMCpshT7WqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773333653; a=rsa-sha256; cv=none; b=FClr3CKD7GqUi8AgJ72wCJLjXJzf8v7KqGBVEV/cDcQeFBe7H7qWFSXZb/oaTWaMXTRCNb M4bwtDbpyVQYpW00ZY7yIapMPHhq4dPDGjFTlQ1945hEYybYnPqFrr4ZmefKaN3rZN3F4s FqSwtJeGNj8wqkm07Qi+b553EawHcZl5fKAWwbNcfdb1FENNzGZr6NC1cwPQt0v6vNKvB5 S+dS3x41uMwGxxUukmGlHydq0dkm92b+VEcVZa9dOoUYETQnGCBMbGykBiC5xUXo+5PPKb KqEiZvfKT4TlR/95P5eXc9wFa6AGaMiTHQgbhLbeSQZR9xiSweoJqy90YU2zxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g5d5QPRpT8kNAZllBd9RrKamBJX6FrPknR+lqwVesNE=; b=M0n1oZmRIMhKOhbsML8KnhWXPIYIbiakJufhOMHyUtrmPCPdsLHFGfZ0nEwnoPtsEVODad N+Yc5/4MM/6JGJePvW//5AhIpc+BzWw0KcfYoxB2tw6ponGvtoM94lvM3HMwEERbLqHbWr tKbFbmxMxq/Zvjs1vosiiUYmz0+KenATTswjdeydaBOIW1ahjhCwMBxd7cyECLC8Ed4SNX jTo4W85QO4QlRckCFi7ThbCC+8xen0sst+QHSod4NHPIE6BvFVcNeqAbYTnKk/Kep9ReWi 42zKhNJpvjvVXLnfvtoZwBbk1TUvK7lUj4ZsPnZRJV3eXFTt+xg1GMBQCpQqzA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfD6xd4ztMT for ; Thu, 12 Mar 2026 16:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 439bc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:40:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: a68e3a8ae840 - main - systm.h: don't declare socket and inpcb globally List-Id: Commit messages for the main 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: a68e3a8ae8401fe3ba6c0a85bbd3de87bd2e36f2 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:40:52 +0000 Message-Id: <69b2ec94.439bc.6f08e25c@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a68e3a8ae8401fe3ba6c0a85bbd3de87bd2e36f2 commit a68e3a8ae8401fe3ba6c0a85bbd3de87bd2e36f2 Author: Gleb Smirnoff AuthorDate: 2026-03-11 18:17:57 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 16:37:52 +0000 systm.h: don't declare socket and inpcb globally --- sys/net/pfvar.h | 1 + sys/sys/systm.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 21302b70552b..87ed701f66a7 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2853,6 +2853,7 @@ extern void pf_addrcpy(struct pf_addr *, const struct pf_addr *, sa_family_t); void pf_free_rule(struct pf_krule *); +struct inpcb; int pf_test_eth(int, int, struct ifnet *, struct mbuf **, struct inpcb *); int pf_scan_sctp(struct pf_pdesc *); #if defined(INET) || defined(INET6) diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 1c96d99ff98f..7f655b48ba08 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -127,12 +127,10 @@ extern int unmapped_buf_allowed; * General function declarations. */ -struct inpcb; struct lock_object; struct malloc_type; struct mtx; struct proc; -struct socket; struct thread; struct tty; struct ucred; From nobody Thu Mar 12 16:40:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfG3gPyz6Vcdk for ; Thu, 12 Mar 2026 16:40:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWtfG1BtYz3FgP for ; Thu, 12 Mar 2026 16:40:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iW1p/7d9MuTvFraRXdbhBLcS/+s7I/XwSjh4hu4SW5s=; b=yhk0903gqU4UqKDqQCdGjg8/vKxvPrKKPApEHBQ9mbqmFE+B2pgtbXYn6BxTGa3LSR6UjE P4yBzQtB9yhP+S7La1bod/FqvdjzCusyHyK+2qK/IlUCEJ50ucr3rV+tZ6PpBLZJF9qFId A00FJBRD3VrKHA6hzNn8Zl4aq1F/I5T6RX8k7RglwiVGZgjFYZbfBFWPWkkbigzAu4Au3c nUTGZ0M4bRvHY2UkMLUhqSAGyAwPeKC2SBMeSa0RJJ/kPnaH8L9j8PdPxFdsERvsD8b4Dw 7wVJqcxRQ3N9OptIzaCzpognlkt0uOEDRoFhQmvjBQWSmM13FzsopUuwfD1ETw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773333654; a=rsa-sha256; cv=none; b=ujxEjdEeaw0na/gi6pWZmWG7RDbjot2J5PAcMYNHJXQVwaRLqL6cvYOqLOPXVkvSJFv2FA nJ9LlQw6LMse3Ub4EIDarSPmr06HNZ1wn93qSfL0KGmtDFao6d4favzirDrgL6fWYi45wP PLqpuiFwfVEZLrGPkbQgnJhlZK1ef+U3oKw7+fKL0FM1s7lmYWHrtgP5lb/2RUJoY+3TcM fxulB7rBGM38aoLFnok0/Ufejrv+7cEMQo2VMvcjmrzkS64TpXWe00BLK6UDs+PENmdiFe rzetmtAdzWM1W15jocjxihzRpgZy2Z6l7X7p9adUOfX68h1KvJUE7NGaLHtH3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iW1p/7d9MuTvFraRXdbhBLcS/+s7I/XwSjh4hu4SW5s=; b=RCk7NRgSTZi123UoE3hkPuLH0U+fn7mI5ILdcgbbLhqj+rd/X4GpdGPO3634Q9ByHa9Jrg tN4H0eH2BJSfLWj1LugSNMnaTl44VaXgmDz2nesx5txoFq/jUWFx9CFMQJtVQUZyvRErmD LWfaP2TicucG9A3q+vmY2dpfWfakpe+MlPriJWvzwNxJCa4/QHDMYkNKAhimKiblefAhuI jmEYyV4kRVw0lIr52qQ13bT7kghcRIlmtUpcGt4imleIc7wfpHcdNX+9lTNr5Jp0AFfv8l sEN2pX5liMpdha3puUv8QoFLcca/Vg23CRygg3RUf3rTNTTwJvcbNoBD6lXmYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfG0dxtztdZ for ; Thu, 12 Mar 2026 16:40:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45105 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:40:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c0462c2deafd - main - tcp: make sack_filter.c compilable without _WANT_TCPCB List-Id: Commit messages for the main 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: c0462c2deafdcfe885e8d6f91b529d8cbddc6014 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:40:54 +0000 Message-Id: <69b2ec96.45105.2ab3de3c@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c0462c2deafdcfe885e8d6f91b529d8cbddc6014 commit c0462c2deafdcfe885e8d6f91b529d8cbddc6014 Author: Gleb Smirnoff AuthorDate: 2026-03-12 04:44:25 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 16:37:53 +0000 tcp: make sack_filter.c compilable without _WANT_TCPCB This file can be compiled as a standalone program for debugging purposes. Achieve that without exposing hack from tcp_var.h that is destined for removal. --- sys/netinet/tcp_stacks/sack_filter.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/sys/netinet/tcp_stacks/sack_filter.c b/sys/netinet/tcp_stacks/sack_filter.c index 2b70548f3cc6..71875c58989d 100644 --- a/sys/netinet/tcp_stacks/sack_filter.c +++ b/sys/netinet/tcp_stacks/sack_filter.c @@ -24,28 +24,19 @@ * */ #include -#ifndef _KERNEL -#define _WANT_TCPCB 1 -#endif #include #include #include +#include +#include +#include + #ifdef _KERNEL #include #include -#endif -#include -#ifdef _KERNEL #include -#else -struct inpcb { - uint32_t stuff; -}; -#endif -#include #include -#include -#ifndef _KERNEL +#else /* ! _KERNEL */ #include #include #include @@ -53,7 +44,17 @@ struct inpcb { #include #include #include +struct sackblk { + tcp_seq start; /* start seq no. of sack block */ + tcp_seq end; /* end seq no. */ +}; +struct tcpcb { + tcp_seq snd_una; + tcp_seq snd_max; + uint32_t t_maxseg; +}; #endif + #include "sack_filter.h" /* From nobody Thu Mar 12 16:40:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfH6QQFz6VcxL for ; Thu, 12 Mar 2026 16:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWtfH1ZKNz3Ff5 for ; Thu, 12 Mar 2026 16:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iGVts4BzPYlqMrMI7YB8nGNLp1ZT8GGSRXkd0x+9eHA=; b=IEZ8zcAaZUlyJV+7Ih5IKD9TKfqks0sQyjk37HkNVIkngYL6KNtZRVlq8FC+LpuV932gJJ AtuYIjBP6y0ilpMSEC5aMgdrxr8B55uqCMLWtnFhOXI5gTcs1yMo3eEr3mRyOiQas+Jna3 VCxZ2xt+ZHrKGrgeqgBLSBzPccGETurKPBWFpkEFwLO/EWWtmaq4K1k2zXUmkkDM2wU3Cj F/6fuuUF4IcVqXKDhZ1Jz6ojNjZbqiY8LVx6Tq0bOLN0SlknmStceRJ4a670nyLP15b8h/ 0qOetGId8LtJBwrDoT+8gSmIDIQxmXUggU8+ec4moYNGSgC/gIkSYX9hSO4p1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773333655; a=rsa-sha256; cv=none; b=XFaGihPgNB9EzbGtpn6RXwSxOKGtFRGq50ICqk/F6n08zJCQqR886YrSyKd7IhgVC1Dyoz oPIKzS8o04bvO89jzwJ5jv2+SxTR6xGooYG27N0X7IfsrZanwQt0i7po9RmpN5khWT5Cpz oevxrTzPn62gQQaz1yj0nRCbxrlTa2VvJkmX4zY7nb38J7SyH377otjxVoP/iANZkBrqDb gkZg/O/5/B0lZGELVOaM47eyT0pg132UhcA80es7Jj5GraUvcrURbL3yoTKsnCAOcKo5qN fDAT/mkY0iI1n9znl96n6t+GymVXRQjFfvRjPHuz9Ln8TdF9gbXDZXKPrVDA0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773333655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iGVts4BzPYlqMrMI7YB8nGNLp1ZT8GGSRXkd0x+9eHA=; b=A+WVc2YqlhjwzvDxvERnU0NB9qkAianIBwHAN5+0UQmFmOeqQJ9sefkX4WhfdvLO0OhWRn 52pHRcW2KlczwIgIhWgFgZivHncirGWQpgiCuHim0cekxN5foMrP8B9dh1yiSxHzs6Wn80 wQrjCHM7z838ghig9ZlBTR+77UWnsI9JrmjfPot6QRZl7VuQl7Uv59SRHhN5XdAfARMZJH 22GOVDEzxmZIYi8kqfModRB34KV2X7V7lm+lUIEmeQBW7spEY5j7ZRweJtuEoL8SzXksQn moX8/S05SCcNuoifhoUh3ODzr74h76QajVeR4nHF901OpMojax/soYQPXP+Rpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWtfH16cWztb7 for ; Thu, 12 Mar 2026 16:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45065 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 16:40:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 815ef05284d1 - main - netinet: remove _WANT_INPCB and _WANT_TCPCB List-Id: Commit messages for the main 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: 815ef05284d184d83613adcf60def403607be6a0 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 16:40:55 +0000 Message-Id: <69b2ec97.45065.2a0d689@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=815ef05284d184d83613adcf60def403607be6a0 commit 815ef05284d184d83613adcf60def403607be6a0 Author: Gleb Smirnoff AuthorDate: 2026-03-12 04:48:06 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 16:37:53 +0000 netinet: remove _WANT_INPCB and _WANT_TCPCB These were hacks since FreeBSD 12 that provided some transition period for utilities to migrate from reading kernel memory via kvm(3) to sysctl(3) based APIs. The transition period is over. --- sys/netinet/cc/cc.h | 8 ++++---- sys/netinet/in_pcb.h | 2 +- sys/netinet/tcp_var.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/netinet/cc/cc.h b/sys/netinet/cc/cc.h index 890bea69a14b..fa175166c9ee 100644 --- a/sys/netinet/cc/cc.h +++ b/sys/netinet/cc/cc.h @@ -86,7 +86,7 @@ int cc_register_algo(struct cc_algo *add_cc); int cc_deregister_algo(struct cc_algo *remove_cc); #endif /* _KERNEL */ -#if defined(_KERNEL) || defined(_WANT_TCPCB) +#if defined(_KERNEL) struct cc_var { void *cc_data; /* Per-connection private CC algorithm data. */ int bytes_this_ack; /* # bytes acked by the current ACK. */ @@ -112,15 +112,15 @@ struct cc_var { #define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ #define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh */ -#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ +#endif /* defined(_KERNEL) */ typedef enum { -#if defined(_KERNEL) || defined(_WANT_TCPCB) +#if defined(_KERNEL) /* ACK types passed to the ack_received() hook. */ CC_ACK = 0x0001, /* Regular in sequence ACK. */ CC_DUPACK = 0x0002, /* Duplicate ACK. */ CC_PARTIALACK = 0x0004, /* Not yet. */ CC_SACK = 0x0008, /* Not yet. */ -#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ +#endif /* defined(_KERNEL) */ /* Congestion signal types passed to the cong_signal() hook. */ CC_ECN = 0x0100, /* ECN marked packet received. */ CC_RTO = 0x0200, /* RTO fired. */ diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 975b8129c70d..cd7a7303865f 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -128,7 +128,7 @@ struct in_conninfo { #define inc6_laddr inc_ie.ie6_laddr #define inc6_zoneid inc_ie.ie6_zoneid -#if defined(_KERNEL) || defined(_WANT_INPCB) +#if defined(_KERNEL) /* * struct inpcb captures the network layer state for TCP, UDP, and raw IPv4 and * IPv6 sockets. In the case of TCP and UDP, further per-connection state is diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 7f836f5a1df4..8dff330cb46b 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -85,7 +85,7 @@ #define TCP_EI_BITS_RST_IN_FR 0x200 /* a front state reset */ #define TCP_EI_BITS_2MS_TIMER 0x400 /* 2 MSL timer expired */ -#if defined(_KERNEL) || defined(_WANT_TCPCB) +#if defined(_KERNEL) #include #include @@ -500,7 +500,7 @@ struct tcpcb { uint64_t tcp_proc_time[TCP_NUM_CNT_COUNTERS]; #endif }; -#endif /* _KERNEL || _WANT_TCPCB */ +#endif /* _KERNEL */ #ifdef _KERNEL struct tcptemp { From nobody Thu Mar 12 17:10:54 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWvK33NyRz6VfX3; Thu, 12 Mar 2026 17:11:03 +0000 (UTC) (envelope-from fuz@fuz.su) Received: from fuz.su (fuz.su [IPv6:2001:41d0:8:e508::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-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "fuz.su", Issuer "fuz.su" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWvK30fwYz3K6g; Thu, 12 Mar 2026 17:11:03 +0000 (UTC) (envelope-from fuz@fuz.su) Authentication-Results: mx1.freebsd.org; none Received: from fuz.su (localhost [127.0.0.1]) by fuz.su (8.18.1/8.18.1) with ESMTPS id 62CHAsIR039228 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 12 Mar 2026 18:10:55 +0100 (CET) (envelope-from fuz@fuz.su) Received: (from fuz@localhost) by fuz.su (8.18.1/8.18.1/Submit) id 62CHAsZN039227; Thu, 12 Mar 2026 18:10:54 +0100 (CET) (envelope-from fuz) Date: Thu, 12 Mar 2026 18:10:54 +0100 From: Robert Clausecker To: Mitchell Horne Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a2b2ce2c15bb - main - DEFINE_IFUNC.9: update NOTES Message-ID: References: <69b2d252.38e13.8446a44@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: <69b2d252.38e13.8446a44@gitrepo.freebsd.org> 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:16276, ipnet:2001:41d0::/32, country:FR] X-Rspamd-Queue-Id: 4fWvK30fwYz3K6g X-Spamd-Bar: ---- Hi Mitchell, Does that apply to armv7, too? I thought they weren't supported on armv7. Yours, Robert Clausecker Am Thu, Mar 12, 2026 at 02:48:50PM +0000 schrieb Mitchell Horne: > The branch main has been updated by mhorne: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a2b2ce2c15bb73d9f87d5072cf65f1f027e066fb > > commit a2b2ce2c15bb73d9f87d5072cf65f1f027e066fb > Author: Mitchell Horne > AuthorDate: 2026-03-12 14:44:46 +0000 > Commit: Mitchell Horne > CommitDate: 2026-03-12 14:44:46 +0000 > > DEFINE_IFUNC.9: update NOTES > > ifuncs are now implemented for all architectures, so drop the caveat > statement. > > Reviewed by: kib > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D55815 > --- > share/man/man9/DEFINE_IFUNC.9 | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/share/man/man9/DEFINE_IFUNC.9 b/share/man/man9/DEFINE_IFUNC.9 > index 0bb75d1fd4da..8cb216af04d7 100644 > --- a/share/man/man9/DEFINE_IFUNC.9 > +++ b/share/man/man9/DEFINE_IFUNC.9 > @@ -24,7 +24,7 @@ > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > .\" SUCH DAMAGE. > .\" > -.Dd May 18, 2019 > +.Dd March 10, 2026 > .Dt DEFINE_IFUNC 9 > .Os > .Sh NAME > @@ -134,8 +134,7 @@ function with an optimized implementation for CPUs that advertise support. > .Sh SEE ALSO > .Xr elf 5 > .Sh NOTES > -ifuncs are not supported on all architectures. > -They require both toolchain support, to emit function symbols of type > +ifuncs require both toolchain support, to emit function symbols of type > .Dv STT_GNU_IFUNC , > -and kernel linker support to invoke ifunc resolvers during boot or > +and kernel linker support, to invoke ifunc resolvers during boot or > during module load. > -- () ascii ribbon campaign - for an encoding-agnostic world /\ - against html email - against proprietary attachments From nobody Thu Mar 12 18:22:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWwvz4298z6VlSM for ; Thu, 12 Mar 2026 18:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWwvz31vJz3VN5 for ; Thu, 12 Mar 2026 18:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773339775; 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; bh=uDavcAnpISW/e3cvxd/BdMhflyp3uwb4F0TlRwwoR/Q=; b=ae17dKe2ert6bZrjW1FZjewrbJHdo0pGtUf3a1zLtZpYEd41jCIVl4JVd5jmUFZD/HOUOd 5+S4khcI0f34N6xiNCBSPxoELhCFPfFNq0yysM9PORYR+WCJYKRBjBeJIA6RDqO89dS1mx U7laMDmOUsbIlKM9aD4+QT4szUJN4UP0b4wKBP5qf2U3SiAkzWxvEu3VnL+i9qA41cEkqA Ju7qYMbsGovOSFw3QPG852PEQu25fFY5d7czqEsaXvSuemWWVOXvF4ZgfeEwhWCoUy1oX1 x/F0+eTbAr59Q5/E6X7/6NnBPp3Aoh6WKZlFD6CLIF2uU//kq6+TjKWFvGRm0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773339775; a=rsa-sha256; cv=none; b=Rl+OzN+ozR4k3fpOCqzkdxfxeeektfXKHGsGHiyfm9hixpMXmQGq7tjrcO/nkYtQ7kYP9j m046ZyUwUK6f2aQxSpP5DIW7jrXLHs/An/4YF1+aF2x2pq2kdbWJ/e3zO4I9Dl31XrRPYx ZAKLbID4KdqmNpOsK0jxAfWo4Kyz+j2JPZgM3hIzd15HJkWu9/wgagmybZHIMLdBabgioO EG+0Qqwi9rZ7ZUosty0L9B0J0aGuTbvdF+Iww548VUiL4PoNbm7eGL1BNKHQL4a6CtKlck EZlYHAVZUMVgXFlzrE4uq5eX1M14dSHfYxN3NYljxFkTUQpaRAFm04VZrA+TVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773339775; 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; bh=uDavcAnpISW/e3cvxd/BdMhflyp3uwb4F0TlRwwoR/Q=; b=gVmIcKjf+97Xz/a6aUR9nWMuJQchrkFn5sfVjsIItQTC0pcMB+NUnXvdYUBoVBJW4nHwf1 qwfRFt65yQEM8nw5c3p0ccTfpxEILx63cbAy9uccegPNDxy5+8zAgPS38KiLTrdzyaSdxB TIxMRJOtYabZkpMCItnb4Ewwy2MlnE0v6cN+HdO6ePdVL93iLNncTMsbSODvu+2wacNnE2 nlbmccnFboZnzI6XuBbdiDUJUhYCeN29H9EbCz8Ucn5fmlBLf21kqwatJSH1HxHtxvFoa7 q/Wcu+10vC9mue1VZ3uYbjRhMC3Wtc4sKeUpGBAdAQfZ7FLaPmBYdGl+eeJJFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWwvz2TBwzx50 for ; Thu, 12 Mar 2026 18:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1fd0e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 18:22:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Sean Farley From: Christos Margiolis Subject: git: ac5ff2813027 - main - sound: enforce MASTER volume mute during playback List-Id: Commit messages for the main 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac5ff2813027c385f9037b47b2b164d4c1bebd09 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 18:22:55 +0000 Message-Id: <69b3047f.1fd0e.58f3ac16@gitrepo.freebsd.org> The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ac5ff2813027c385f9037b47b2b164d4c1bebd09 commit ac5ff2813027c385f9037b47b2b164d4c1bebd09 Author: Sean Farley AuthorDate: 2026-03-12 18:22:02 +0000 Commit: Christos Margiolis CommitDate: 2026-03-12 18:22:02 +0000 sound: enforce MASTER volume mute during playback MASTER mute (vol.mute) works while audio is playing. However, if a stream is stopped and restarted (PCMTRIG_STOP -> PCMTRIG_START), the audio will resume even though the mixer shows the MASTER volume as muted. Other streams that are already playing remain silent. New streams may also start playing audio regardless of the MASTER mute state. The volume feeder now considers the MASTER mute when determining whether a channel should be muted. This ensures MASTER mute is consistently enforced for all streams and removes the dependency on trigger-driven state propagation. Tested with Creative Labs CA0132 card. MFC after: 1 week Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D55605 --- sys/dev/sound/pcm/feeder_volume.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index fc4ed1bbb0a5..e43b2594c7e0 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -242,11 +242,14 @@ feed_volume_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, { int temp_vol[SND_CHN_T_VOL_MAX]; struct feed_volume_info *info; + struct snd_mixer *m; + struct snddev_info *d; uint32_t j, align; int i, *matrix; uint8_t *dst; const int16_t *vol; const int8_t *muted; + bool master_muted = false; /* * Fetch filter data operation. @@ -278,8 +281,14 @@ feed_volume_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, return (FEEDER_FEED(f->source, c, b, count, source)); /* Check if any controls are muted. */ + d = (c != NULL) ? c->parentsnddev : NULL; + m = (d != NULL && d->mixer_dev != NULL) ? d->mixer_dev->si_drv1 : NULL; + + if (m != NULL) + master_muted = (mix_getmutedevs(m) & (1 << SND_VOL_C_MASTER)); + for (j = 0; j != SND_CHN_T_VOL_MAX; j++) - temp_vol[j] = muted[j] ? 0 : vol[j]; + temp_vol[j] = (muted[j] || master_muted) ? 0 : vol[j]; dst = b; align = info->bps * info->channels; From nobody Thu Mar 12 18:32:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWx7B4MDhz6VmRC for ; Thu, 12 Mar 2026 18:32: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWx7B3RHvz3W74 for ; Thu, 12 Mar 2026 18:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773340358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O3cIVQWNPiK/gTKiTx0BVOhoK2KNY7qlTWpQUKRhcAw=; b=RTKSkC0TXBEFG6RmX0Au9jUKtPnquMUNbh2AM+/vP+8mt46KZu5OpOWTq9jNogtdFoDPv7 vhgqoKsOyZB6dFzmKOSc5zaJBQvyoHMSoqyRDUAkp+Xp/7CEAu6v7xVIb+mJnD9ucfLh1v Y7/QfxongLWRI46AsOOxGrtWI25SxVytn2dXIaT0uUckw0b2ouQfajsiqRvfkAoCUup8e5 xF1jrSJhNmd9rhAEHNf5Xh5968n5PPyo2EhYzkKIa0W7V3qjtoPqWfj84IcwdWa79R6cqV D1TdWeWKlhhcCtqs78JbDgll/9AxV/IuwTd43wORMTSopbzfd6eKd6fcXKVSjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773340358; a=rsa-sha256; cv=none; b=tBhJsHUjk3S2V4lwxIqJm9uouTq7wX9pGDy/ZFJTsRcHp4cTODRMxqZ0ZKqLvj1Witp8i6 JSw3F8b4sk+QxOUtMlRH4Ie23yHBYDVxfbs5+GD1G6AVKZ19C1ZtMCJsfrKwGCvrKWQgMS 6tDVHyFKG+yX2SKA9CvRq5mbDkc6cBJVIOo3ftixd0rtngO07jqzrTE8RaLkc9VUXU8gBi Lfe86TrhycfVzxO2fgkxlBvM/UuJAkqJ8wBQT0x+QKq4y3XSdpI15fT6A8Sdlp0+FxSfs6 sc0/kbZKx4QT9Zm7acI24sgfrQRDYmGRR4ZrxGL9shPzbDLf8gkHGftwZFjhkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773340358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O3cIVQWNPiK/gTKiTx0BVOhoK2KNY7qlTWpQUKRhcAw=; b=pR7bnNAL/6W2tgdfTTxxvTb97WNS/92PrhYCrkrtdmjAdYgU9500R9n2QhrGDDap4DTjz+ 8Klri5hXnk7v++eiMR03qe73SI/pnr2SS4GLfviM41AhEZezotC2WiLK4IRQVC4LqH9Kd1 9D4JLt68yCUIeBe6t0n/GAzOZlVrNnFtRz4jnSq9AKWTnTuTJbK+kE6dSdG0qvv7G++cOo 7MyqzJVftnMTz/Uaph747lROskql4Wj0w+ZTUd5VySL1h1YdY+Fd4uZPHf33+iMrXSiPk4 L2TWcDxyHI61EuihxnA+BXYycHmZbibMPfKOWg5qnT9HsXKGP4YvjBtcKLtuTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWx7B2w8Bzwyn for ; Thu, 12 Mar 2026 18:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2142c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 18:32:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 0f1aa4543fbb - main - debugnet: don't include udp_var.h List-Id: Commit messages for the main 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: 0f1aa4543fbb7a49c077b69fbb60945ce0c14367 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 18:32:38 +0000 Message-Id: <69b306c6.2142c.4250e2a2@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0f1aa4543fbb7a49c077b69fbb60945ce0c14367 commit 0f1aa4543fbb7a49c077b69fbb60945ce0c14367 Author: Gleb Smirnoff AuthorDate: 2026-03-12 18:01:01 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 18:32:29 +0000 debugnet: don't include udp_var.h The module constructs UDP packets, but doesn't use the UDP stack. --- sys/net/debugnet_inet.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/net/debugnet_inet.c b/sys/net/debugnet_inet.c index 1ca35e1faf73..eb228e326f99 100644 --- a/sys/net/debugnet_inet.c +++ b/sys/net/debugnet_inet.c @@ -52,7 +52,6 @@ #include #include #include -#include #include #include From nobody Thu Mar 12 18:32:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWx7D23dkz6VmRH for ; Thu, 12 Mar 2026 18:32:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWx7C4qnSz3WS1 for ; Thu, 12 Mar 2026 18:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773340359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTkmCR43vPC3upYlbWMsH8RnL49spYU1Q0JJfpOvShA=; b=efkONe2ChQ3VFp8ieH9Xxrrm3vmpfNHKkm9yhQIBMUVfZD6qXVBoOTXbFIC76vrDui9QWc iqWZPsjfsZsWGPcrDrrRKCCw812dXP7gq8KbDhdDIWlAIV7VRLD3l6dPBLHwwi62r70M3O K8jStysaDRenNyYgXKKVtlSfuN0UdBtgR443M4BJXFIxpObmaLontD5yVs0pAFQjSV4c7C PWMdgT6IR1jnp35opT80tByzn2lsZFHoSdaW3CCs5V/NhczA0BX06r47oE34xqmkEGkCYp HTXysgG5T2207peM+Rer7EkwVM6tjn5Lj2mW/RUOmUohOlzE99EoxOkHvzHFJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773340359; a=rsa-sha256; cv=none; b=QosgRqkojka19oRPuWP2LEbFV4AG/aT3urDG5nI4A0E7rAy9ITXctIYsTAur/a1W/EmL2M 4qyDvZgHRV6CNajeQi4QFaeQD9q34RBnQs+8kl1wo593Bcs6VXbCu5SC2XABAinEQhECI1 fn6Ow4Y3Hk+1CN6PRjNVEEgElzTOmCm/YcUGTyw0BhyoPfVKES5eh0ba/x21ZHdj/KHdYj LVJ6eTYr9tiS8dv/FE2GjoXUzO7yNwJYibwASRbvBiWpG70ZsAGa69tbhUDzgXremhbDZk cwNATThBFTZnVkUW904Vnd1UCPdJn/20dnftMp4vq7uLqjlUYplGnn4a530acQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773340359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eTkmCR43vPC3upYlbWMsH8RnL49spYU1Q0JJfpOvShA=; b=F/qM5YLntovS4DwE+dwZi5cyD10B5DKJ+R43VIHZSzd068p0FClmLirJShaGrxQYDCsqC4 /VYsITS54qRFzqiUHqAWLJHcjE09YYwQbj/6BjTpbyar23RpEqjc9X+6RGQApRlq/UKQer MXKQeE5irt3VunvitGh4hrhXEGv80U1RMt0KwsaRd76kmg90Z5n2hz98fPsjOxYoaSqurF T29DhmkKHct3sBD4zLhFFAO+7geO6uO0507b6LP6EUB7M9CVDYuYC60VgdeowYlGeOPKaY ICbLmzi+YCkXhi0XkvBoCMLcNbPqx3wlPVT3hEZiYiW2LwEY9Qu5VyM6wui72Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fWx7C3XWYzxN9 for ; Thu, 12 Mar 2026 18:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2139a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 18:32:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 041e9eb1ae09 - main - inpcb: overhaul in_pcb.h List-Id: Commit messages for the main 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: 041e9eb1ae094a81e55fbcaba37eb2ac194658cc Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 18:32:39 +0000 Message-Id: <69b306c7.2139a.4051b728@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=041e9eb1ae094a81e55fbcaba37eb2ac194658cc commit 041e9eb1ae094a81e55fbcaba37eb2ac194658cc Author: Gleb Smirnoff AuthorDate: 2026-03-12 18:02:27 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-12 18:32:30 +0000 inpcb: overhaul in_pcb.h Pull up all user-visible stuff to the top of the file and isolate the rest under _KERNEL. The user visible parts are: - struct in_conninfo - struct xinpcb - defines for inp_flags bits, that are shared between xinpcb and inpcb PR: 293493 --- sys/netinet/in_pcb.h | 477 +++++++++++++++++++++++++-------------------------- 1 file changed, 231 insertions(+), 246 deletions(-) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index cd7a7303865f..bdf8ff9fb74c 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -37,36 +37,6 @@ #ifndef _NETINET_IN_PCB_H_ #define _NETINET_IN_PCB_H_ -#include -#include -#include -#include -#include -#include -#include - -#ifdef _KERNEL -#include -#include -#include -#include -#include -#include -#endif -#include - -/* - * struct inpcb is the common protocol control block structure used in most - * IP transport protocols. - * - * Pointers to local and foreign host table entries, local and foreign socket - * numbers, and pointers up (to a socket structure) and down (to a - * protocol-specific control block) are stored here. - */ -CK_LIST_HEAD(inpcbhead, inpcb); -CK_LIST_HEAD(inpcblbgrouphead, inpcblbgroup); -typedef uint64_t inp_gen_t; - /* * PCB with AF_INET6 null bind'ed laddr can receive AF_INET input packet. * So, AF_INET6 null laddr is also used as AF_INET null laddr, by utilizing @@ -74,8 +44,8 @@ typedef uint64_t inp_gen_t; * which is done right after inpcb allocation and stays through its lifetime. */ struct in_addr_4in6 { - u_int32_t ia46_pad32[3]; - struct in_addr ia46_addr4; + uint32_t ia46_pad32[3]; + struct in_addr ia46_addr4; }; union in_dependaddr { @@ -90,8 +60,8 @@ union in_dependaddr { * lport, faddr to generate hash, so these fields shouldn't be moved. */ struct in_endpoints { - u_int16_t ie_fport; /* foreign port */ - u_int16_t ie_lport; /* local port */ + uint16_t ie_fport; /* foreign port */ + uint16_t ie_lport; /* local port */ /* protocol dependent part, local and foreign addr */ union in_dependaddr ie_dependfaddr; /* foreign host table entry */ union in_dependaddr ie_dependladdr; /* local host table entry */ @@ -99,7 +69,7 @@ struct in_endpoints { #define ie_laddr ie_dependladdr.id46_addr.ia46_addr4 #define ie6_faddr ie_dependfaddr.id6_addr #define ie6_laddr ie_dependladdr.id6_addr - u_int32_t ie6_zoneid; /* scope zone id */ + uint32_t ie6_zoneid; /* scope zone id */ }; /* @@ -107,11 +77,11 @@ struct in_endpoints { * references. */ struct in_conninfo { - u_int8_t inc_flags; - u_int8_t inc_len; - u_int16_t inc_fibnum; /* XXX was pad, 16 bits is plenty */ + uint8_t inc_flags; + uint8_t inc_len; + uint16_t inc_fibnum; /* XXX was pad, 16 bits is plenty */ /* protocol dependent part */ - struct in_endpoints inc_ie; + struct in_endpoints inc_ie; }; /* @@ -128,7 +98,222 @@ struct in_conninfo { #define inc6_laddr inc_ie.ie6_laddr #define inc6_zoneid inc_ie.ie6_zoneid -#if defined(_KERNEL) +#define inp_fport inp_inc.inc_fport +#define inp_lport inp_inc.inc_lport +#define inp_faddr inp_inc.inc_faddr +#define inp_laddr inp_inc.inc_laddr + +#define in6p_faddr inp_inc.inc6_faddr +#define in6p_laddr inp_inc.inc6_laddr +#define in6p_zoneid inp_inc.inc6_zoneid + +#ifdef _SYS_SOCKETVAR_H_ /* XXX: requires xsocket to be known */ +/* + * Interface exported to userland by various protocols which use inpcbs. Hack + * alert -- only define if struct xsocket is in scope. + * Fields prefixed with "xi_" are unique to this structure, and the rest + * match fields in the struct inpcb, to ease coding and porting. + * + * Legend: + * (s) - used by userland utilities in src + * (p) - used by utilities in ports + * (3) - is known to be used by third party software not in ports + * (n) - no known usage + */ +typedef uint64_t inp_gen_t; /* compat */ +struct xinpcb { + ksize_t xi_len; /* length of this structure */ + struct xsocket xi_socket; /* (s,p) */ + struct in_conninfo inp_inc; /* (s,p) */ + uint64_t inp_gencnt; /* (s,p) */ + int64_t inp_spare64[5]; + uint32_t inp_flow; /* (s) */ + uint32_t inp_flowid; /* (s) */ + uint32_t inp_flowtype; /* (s) */ + int32_t inp_flags; /* (s,p) */ + int32_t inp_flags2; /* (s) */ + uint32_t inp_unused; + int32_t in6p_cksum; /* (n) */ + int32_t inp_spare32[4]; + uint16_t in6p_hops; /* (n) */ + uint8_t inp_ip_tos; /* (n) */ + int8_t pad8; + uint8_t inp_vflag; /* (s,p) */ + uint8_t inp_ip_ttl; /* (n) */ + uint8_t inp_ip_p; /* (n) */ + uint8_t inp_ip_minttl; /* (n) */ + int8_t inp_spare8[4]; +} __aligned(8); + +struct xinpgen { + ksize_t xig_len; /* length of this structure */ + u_int xig_count; /* number of PCBs at this time */ + uint32_t _xig_spare32; + uint64_t xig_gen; /* generation count at this time */ + so_gen_t xig_sogen; /* socket generation count this time */ + uint64_t _xig_spare64[4]; +} __aligned(8); +#endif /* _SYS_SOCKETVAR_H_ */ + +/* + * Flags for inp_vflags -- historically version flags only + */ +#define INP_IPV4 0x1 +#define INP_IPV6 0x2 +#define INP_IPV6PROTO 0x4 /* opened under IPv6 protocol */ + +/* inp_vflags description for use with printf(9) %b identifier. */ +#define INP_VFLAGS_BITS "\20\1INP_IPV4\2INP_IPV6\3INP_IPV6PROTO" + +/* + * Flags for inp_flags. + */ +#define INP_RECVOPTS 0x00000001 /* receive incoming IP options */ +#define INP_RECVRETOPTS 0x00000002 /* receive IP options for reply */ +#define INP_RECVDSTADDR 0x00000004 /* receive IP dst address */ +#define INP_HDRINCL 0x00000008 /* user supplies entire IP header */ +#define INP_HIGHPORT 0x00000010 /* user wants "high" port binding */ +#define INP_LOWPORT 0x00000020 /* user wants "low" port binding */ +#define INP_ANONPORT 0x00000040 /* read by netstat(1) */ +#define INP_RECVIF 0x00000080 /* receive incoming interface */ +#define INP_MTUDISC 0x00000100 /* user can do MTU discovery */ +/* INP_FREED 0x00000200 private to in_pcb.c */ +#define INP_RECVTTL 0x00000400 /* receive incoming IP TTL */ +#define INP_DONTFRAG 0x00000800 /* don't fragment packet */ +#define INP_BINDANY 0x00001000 /* allow bind to any address */ +#define INP_INHASHLIST 0x00002000 /* in_pcbinshash() has been called */ +#define INP_RECVTOS 0x00004000 /* receive incoming IP TOS */ +#define IN6P_IPV6_V6ONLY 0x00008000 /* restrict AF_INET6 socket for v6 */ +#define IN6P_PKTINFO 0x00010000 /* receive IP6 dst and I/F */ +#define IN6P_HOPLIMIT 0x00020000 /* receive hoplimit */ +#define IN6P_HOPOPTS 0x00040000 /* receive hop-by-hop options */ +#define IN6P_DSTOPTS 0x00080000 /* receive dst options after rthdr */ +#define IN6P_RTHDR 0x00100000 /* receive routing header */ +#define IN6P_RTHDRDSTOPTS 0x00200000 /* receive dstoptions before rthdr */ +#define IN6P_TCLASS 0x00400000 /* receive traffic class value */ +#define IN6P_AUTOFLOWLABEL 0x00800000 /* attach flowlabel automatically */ +/* INP_INLBGROUP 0x01000000 private to in_pcb.c */ +#define INP_ONESBCAST 0x02000000 /* send all-ones broadcast */ +#define INP_DROPPED 0x04000000 /* protocol drop flag */ +#define INP_SOCKREF 0x08000000 /* strong socket reference */ +#define INP_RESERVED_0 0x10000000 /* reserved field */ +#define INP_BOUNDFIB 0x20000000 /* Bound to a specific FIB. */ +#define IN6P_RFC2292 0x40000000 /* used RFC2292 API on the socket */ +#define IN6P_MTU 0x80000000 /* receive path MTU */ + +#define INP_CONTROLOPTS (INP_RECVOPTS|INP_RECVRETOPTS|INP_RECVDSTADDR|\ + INP_RECVIF|INP_RECVTTL|INP_RECVTOS|\ + IN6P_PKTINFO|IN6P_HOPLIMIT|IN6P_HOPOPTS|\ + IN6P_DSTOPTS|IN6P_RTHDR|IN6P_RTHDRDSTOPTS|\ + IN6P_TCLASS|IN6P_AUTOFLOWLABEL|IN6P_RFC2292|\ + IN6P_MTU) + +/* inp_flags description for use with printf(9) %b identifier. */ +#define INP_FLAGS_BITS "\20" \ + "\1INP_RECVOPTS\2INP_RECVRETOPTS\3INP_RECVDSTADDR\4INP_HDRINCL" \ + "\5INP_HIGHPORT\6INP_LOWPORT\7INP_ANONPORT\10INP_RECVIF" \ + "\11INP_MTUDISC\12INP_FREED\13INP_RECVTTL\14INP_DONTFRAG" \ + "\15INP_BINDANY\16INP_INHASHLIST\17INP_RECVTOS\20IN6P_IPV6_V6ONLY" \ + "\21IN6P_PKTINFO\22IN6P_HOPLIMIT\23IN6P_HOPOPTS\24IN6P_DSTOPTS" \ + "\25IN6P_RTHDR\26IN6P_RTHDRDSTOPTS\27IN6P_TCLASS\30IN6P_AUTOFLOWLABEL" \ + "\31INP_INLBGROUP\32INP_ONESBCAST\33INP_DROPPED\34INP_SOCKREF" \ + "\35INP_RESERVED_0\36INP_BOUNDFIB\37IN6P_RFC2292\40IN6P_MTU" + +/* + * Flags for inp_flags2. + */ +/* 0x00000001 */ +/* 0x00000002 */ +/* 0x00000004 */ +/* 0x00000008 */ +/* 0x00000010 */ +/* 0x00000020 */ +/* 0x00000040 */ +/* 0x00000080 */ +#define INP_RECVFLOWID 0x00000100 /* populate recv datagram with flow info */ +#define INP_RECVRSSBUCKETID 0x00000200 /* populate recv datagram with bucket id */ +#define INP_RATE_LIMIT_CHANGED 0x00000400 /* rate limit needs attention */ +#define INP_ORIGDSTADDR 0x00000800 /* receive IP dst address/port */ +/* 0x00001000 */ +/* 0x00002000 */ +/* 0x00004000 */ +/* 0x00008000 */ +/* 0x00010000 */ +#define INP_2PCP_SET 0x00020000 /* If the Eth PCP should be set explicitly */ +#define INP_2PCP_BIT0 0x00040000 /* Eth PCP Bit 0 */ +#define INP_2PCP_BIT1 0x00080000 /* Eth PCP Bit 1 */ +#define INP_2PCP_BIT2 0x00100000 /* Eth PCP Bit 2 */ +#define INP_2PCP_BASE INP_2PCP_BIT0 +#define INP_2PCP_MASK (INP_2PCP_BIT0 | INP_2PCP_BIT1 | INP_2PCP_BIT2) +#define INP_2PCP_SHIFT 18 /* shift PCP field in/out of inp_flags2 */ + +/* inp_flags2 description for use with printf(9) %b identifier. */ +#define INP_FLAGS2_BITS "\20" \ + "\11INP_RECVFLOWID\12INP_RECVRSSBUCKETID" \ + "\13INP_RATE_LIMIT_CHANGED\14INP_ORIGDSTADDR" \ + "\22INP_2PCP_SET\23INP_2PCP_BIT0\24INP_2PCP_BIT1" \ + "\25INP_2PCP_BIT2" + +struct sockopt_parameters { + struct in_conninfo sop_inc; + uint64_t sop_id; + int sop_level; + int sop_optname; + char sop_optval[]; +}; + +#ifdef _SYS_KTLS_H_ +struct xktls_session { + uint32_t tsz; /* total sz of elm, next elm is at this+tsz */ + uint32_t fsz; /* size of the struct up to keys */ + uint64_t inp_gencnt; + kvaddr_t so_pcb; + struct in_conninfo coninf; + u_short rx_vlan_id; + struct xktls_session_onedir rcv; + struct xktls_session_onedir snd; +/* + * Next are + * - keydata for rcv, first cipher of length rcv.cipher_key_len, then + * authentication of length rcv.auth_key_len; + * - driver data (string) of length rcv.drv_st_len, if the rcv session is + * offloaded to ifnet rcv.ifnet; + * - keydata for snd, first cipher of length snd.cipher_key_len, then + * authentication of length snd.auth_key_len; + * - driver data (string) of length snd.drv_st_len, if the snd session is + * offloaded to ifnet snd.ifnet; + */ +}; +#endif /* _SYS_KTLS_H_ */ + +#ifdef _KERNEL +/* + * No user visible declarations below. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * struct inpcb is the common protocol control block structure used in most + * IP transport protocols. + * + * Pointers to local and foreign host table entries, local and foreign socket + * numbers, and pointers up (to a socket structure) and down (to a + * protocol-specific control block) are stored here. + */ +CK_LIST_HEAD(inpcbhead, inpcb); +CK_LIST_HEAD(inpcblbgrouphead, inpcblbgroup); + /* * struct inpcb captures the network layer state for TCP, UDP, and raw IPv4 and * IPv6 sockets. In the case of TCP and UDP, further per-connection state is @@ -220,7 +405,7 @@ struct inpcb { short in6p_hops; }; CK_LIST_ENTRY(inpcb) inp_portlist; /* (r:e/w:h) port list */ - inp_gen_t inp_gencnt; /* (c) generation count */ + uint64_t inp_gencnt; /* (c) generation count */ void *spare_ptr; /* Spare pointer. */ rt_gen_t inp_rt_cookie; /* generation for route entry */ union { /* cached L3 information */ @@ -229,112 +414,9 @@ struct inpcb { }; CK_LIST_ENTRY(inpcb) inp_list; /* (r:e/w:p) all PCBs for proto */ }; -#endif /* _KERNEL */ - -#define inp_fport inp_inc.inc_fport -#define inp_lport inp_inc.inc_lport -#define inp_faddr inp_inc.inc_faddr -#define inp_laddr inp_inc.inc_laddr - -#define in6p_faddr inp_inc.inc6_faddr -#define in6p_laddr inp_inc.inc6_laddr -#define in6p_zoneid inp_inc.inc6_zoneid #define inp_vnet inp_pcbinfo->ipi_vnet -/* - * The range of the generation count, as used in this implementation, is 9e19. - * We would have to create 300 billion connections per second for this number - * to roll over in a year. This seems sufficiently unlikely that we simply - * don't concern ourselves with that possibility. - */ - -/* - * Interface exported to userland by various protocols which use inpcbs. Hack - * alert -- only define if struct xsocket is in scope. - * Fields prefixed with "xi_" are unique to this structure, and the rest - * match fields in the struct inpcb, to ease coding and porting. - * - * Legend: - * (s) - used by userland utilities in src - * (p) - used by utilities in ports - * (3) - is known to be used by third party software not in ports - * (n) - no known usage - */ -#ifdef _SYS_SOCKETVAR_H_ -struct xinpcb { - ksize_t xi_len; /* length of this structure */ - struct xsocket xi_socket; /* (s,p) */ - struct in_conninfo inp_inc; /* (s,p) */ - uint64_t inp_gencnt; /* (s,p) */ - int64_t inp_spare64[5]; - uint32_t inp_flow; /* (s) */ - uint32_t inp_flowid; /* (s) */ - uint32_t inp_flowtype; /* (s) */ - int32_t inp_flags; /* (s,p) */ - int32_t inp_flags2; /* (s) */ - uint32_t inp_unused; - int32_t in6p_cksum; /* (n) */ - int32_t inp_spare32[4]; - uint16_t in6p_hops; /* (n) */ - uint8_t inp_ip_tos; /* (n) */ - int8_t pad8; - uint8_t inp_vflag; /* (s,p) */ - uint8_t inp_ip_ttl; /* (n) */ - uint8_t inp_ip_p; /* (n) */ - uint8_t inp_ip_minttl; /* (n) */ - int8_t inp_spare8[4]; -} __aligned(8); - -struct xinpgen { - ksize_t xig_len; /* length of this structure */ - u_int xig_count; /* number of PCBs at this time */ - uint32_t _xig_spare32; - inp_gen_t xig_gen; /* generation count at this time */ - so_gen_t xig_sogen; /* socket generation count this time */ - uint64_t _xig_spare64[4]; -} __aligned(8); - -struct sockopt_parameters { - struct in_conninfo sop_inc; - uint64_t sop_id; - int sop_level; - int sop_optname; - char sop_optval[]; -}; - -#ifdef _SYS_KTLS_H_ -struct xktls_session { - uint32_t tsz; /* total sz of elm, next elm is at this+tsz */ - uint32_t fsz; /* size of the struct up to keys */ - uint64_t inp_gencnt; - kvaddr_t so_pcb; - struct in_conninfo coninf; - u_short rx_vlan_id; - struct xktls_session_onedir rcv; - struct xktls_session_onedir snd; -/* - * Next are - * - keydata for rcv, first cipher of length rcv.cipher_key_len, then - * authentication of length rcv.auth_key_len; - * - driver data (string) of length rcv.drv_st_len, if the rcv session is - * offloaded to ifnet rcv.ifnet; - * - keydata for snd, first cipher of length snd.cipher_key_len, then - * authentication of length snd.auth_key_len; - * - driver data (string) of length snd.drv_st_len, if the snd session is - * offloaded to ifnet snd.ifnet; - */ -}; -#endif /* _SYS_KTLS_H_ */ - -#ifdef _KERNEL -int sysctl_setsockopt(SYSCTL_HANDLER_ARGS, struct inpcbinfo *pcbinfo, - int (*ctloutput_set)(struct inpcb *, struct sockopt *)); -void in_pcbtoxinpcb(const struct inpcb *, struct xinpcb *); -#endif -#endif /* _SYS_SOCKETVAR_H_ */ - -#ifdef _KERNEL /* * Per-VNET pcb database for each high-level protocol (UDP, TCP, ...) in both * IPv4 and IPv6. @@ -483,8 +565,6 @@ struct socket * void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, uint32_t *faddr, uint16_t *fp); -#endif /* _KERNEL */ - #define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_lock) #define INP_INFO_WLOCKED(ipi) mtx_owned(&(ipi)->ipi_lock) #define INP_INFO_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_lock) @@ -532,105 +612,6 @@ void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, #define INP_PCBPORTHASH(lport, mask) (ntohs((lport)) & (mask)) -/* - * Flags for inp_vflags -- historically version flags only - */ -#define INP_IPV4 0x1 -#define INP_IPV6 0x2 -#define INP_IPV6PROTO 0x4 /* opened under IPv6 protocol */ - -/* inp_vflags description for use with printf(9) %b identifier. */ -#define INP_VFLAGS_BITS "\20\1INP_IPV4\2INP_IPV6\3INP_IPV6PROTO" - -/* - * Flags for inp_flags. - */ -#define INP_RECVOPTS 0x00000001 /* receive incoming IP options */ -#define INP_RECVRETOPTS 0x00000002 /* receive IP options for reply */ -#define INP_RECVDSTADDR 0x00000004 /* receive IP dst address */ -#define INP_HDRINCL 0x00000008 /* user supplies entire IP header */ -#define INP_HIGHPORT 0x00000010 /* user wants "high" port binding */ -#define INP_LOWPORT 0x00000020 /* user wants "low" port binding */ -#define INP_ANONPORT 0x00000040 /* read by netstat(1) */ -#define INP_RECVIF 0x00000080 /* receive incoming interface */ -#define INP_MTUDISC 0x00000100 /* user can do MTU discovery */ -/* INP_FREED 0x00000200 private to in_pcb.c */ -#define INP_RECVTTL 0x00000400 /* receive incoming IP TTL */ -#define INP_DONTFRAG 0x00000800 /* don't fragment packet */ -#define INP_BINDANY 0x00001000 /* allow bind to any address */ -#define INP_INHASHLIST 0x00002000 /* in_pcbinshash() has been called */ -#define INP_RECVTOS 0x00004000 /* receive incoming IP TOS */ -#define IN6P_IPV6_V6ONLY 0x00008000 /* restrict AF_INET6 socket for v6 */ -#define IN6P_PKTINFO 0x00010000 /* receive IP6 dst and I/F */ -#define IN6P_HOPLIMIT 0x00020000 /* receive hoplimit */ -#define IN6P_HOPOPTS 0x00040000 /* receive hop-by-hop options */ -#define IN6P_DSTOPTS 0x00080000 /* receive dst options after rthdr */ -#define IN6P_RTHDR 0x00100000 /* receive routing header */ -#define IN6P_RTHDRDSTOPTS 0x00200000 /* receive dstoptions before rthdr */ -#define IN6P_TCLASS 0x00400000 /* receive traffic class value */ -#define IN6P_AUTOFLOWLABEL 0x00800000 /* attach flowlabel automatically */ -/* INP_INLBGROUP 0x01000000 private to in_pcb.c */ -#define INP_ONESBCAST 0x02000000 /* send all-ones broadcast */ -#define INP_DROPPED 0x04000000 /* protocol drop flag */ -#define INP_SOCKREF 0x08000000 /* strong socket reference */ -#define INP_RESERVED_0 0x10000000 /* reserved field */ -#define INP_BOUNDFIB 0x20000000 /* Bound to a specific FIB. */ -#define IN6P_RFC2292 0x40000000 /* used RFC2292 API on the socket */ -#define IN6P_MTU 0x80000000 /* receive path MTU */ - -#define INP_CONTROLOPTS (INP_RECVOPTS|INP_RECVRETOPTS|INP_RECVDSTADDR|\ - INP_RECVIF|INP_RECVTTL|INP_RECVTOS|\ - IN6P_PKTINFO|IN6P_HOPLIMIT|IN6P_HOPOPTS|\ - IN6P_DSTOPTS|IN6P_RTHDR|IN6P_RTHDRDSTOPTS|\ - IN6P_TCLASS|IN6P_AUTOFLOWLABEL|IN6P_RFC2292|\ - IN6P_MTU) - -/* inp_flags description for use with printf(9) %b identifier. */ -#define INP_FLAGS_BITS "\20" \ - "\1INP_RECVOPTS\2INP_RECVRETOPTS\3INP_RECVDSTADDR\4INP_HDRINCL" \ - "\5INP_HIGHPORT\6INP_LOWPORT\7INP_ANONPORT\10INP_RECVIF" \ - "\11INP_MTUDISC\12INP_FREED\13INP_RECVTTL\14INP_DONTFRAG" \ - "\15INP_BINDANY\16INP_INHASHLIST\17INP_RECVTOS\20IN6P_IPV6_V6ONLY" \ - "\21IN6P_PKTINFO\22IN6P_HOPLIMIT\23IN6P_HOPOPTS\24IN6P_DSTOPTS" \ - "\25IN6P_RTHDR\26IN6P_RTHDRDSTOPTS\27IN6P_TCLASS\30IN6P_AUTOFLOWLABEL" \ - "\31INP_INLBGROUP\32INP_ONESBCAST\33INP_DROPPED\34INP_SOCKREF" \ - "\35INP_RESERVED_0\36INP_BOUNDFIB\37IN6P_RFC2292\40IN6P_MTU" - -/* - * Flags for inp_flags2. - */ -/* 0x00000001 */ -/* 0x00000002 */ -/* 0x00000004 */ -/* 0x00000008 */ -/* 0x00000010 */ -/* 0x00000020 */ -/* 0x00000040 */ -/* 0x00000080 */ -#define INP_RECVFLOWID 0x00000100 /* populate recv datagram with flow info */ -#define INP_RECVRSSBUCKETID 0x00000200 /* populate recv datagram with bucket id */ -#define INP_RATE_LIMIT_CHANGED 0x00000400 /* rate limit needs attention */ -#define INP_ORIGDSTADDR 0x00000800 /* receive IP dst address/port */ -/* 0x00001000 */ -/* 0x00002000 */ -/* 0x00004000 */ -/* 0x00008000 */ -/* 0x00010000 */ -#define INP_2PCP_SET 0x00020000 /* If the Eth PCP should be set explicitly */ -#define INP_2PCP_BIT0 0x00040000 /* Eth PCP Bit 0 */ -#define INP_2PCP_BIT1 0x00080000 /* Eth PCP Bit 1 */ -#define INP_2PCP_BIT2 0x00100000 /* Eth PCP Bit 2 */ -#define INP_2PCP_BASE INP_2PCP_BIT0 -#define INP_2PCP_MASK (INP_2PCP_BIT0 | INP_2PCP_BIT1 | INP_2PCP_BIT2) -#define INP_2PCP_SHIFT 18 /* shift PCP field in/out of inp_flags2 */ - -/* inp_flags2 description for use with printf(9) %b identifier. */ -#define INP_FLAGS2_BITS "\20" \ - "\11INP_RECVFLOWID\12INP_RECVRSSBUCKETID" \ - "\13INP_RATE_LIMIT_CHANGED\14INP_ORIGDSTADDR" \ - "\22INP_2PCP_SET\23INP_2PCP_BIT0\24INP_2PCP_BIT1" \ - "\25INP_2PCP_BIT2" - /* * Flags passed to in_pcblookup*(), inp_smr_lock() and inp_next(). */ @@ -651,7 +632,6 @@ typedef enum { #define INP_CHECK_SOCKAF(so, af) (INP_SOCKAF(so) == af) -#ifdef _KERNEL VNET_DECLARE(int, ipport_reservedhigh); VNET_DECLARE(int, ipport_reservedlow); VNET_DECLARE(int, ipport_lowfirstauto); @@ -703,6 +683,11 @@ bool in_pcbrele(struct inpcb *, inp_lookup_t); bool in_pcbrele_rlocked(struct inpcb *); bool in_pcbrele_wlocked(struct inpcb *); bool in_pcbrele_rlock(struct inpcb *inp); +#ifdef _SYS_SOCKETVAR_H_ +void in_pcbtoxinpcb(const struct inpcb *, struct xinpcb *); +int sysctl_setsockopt(SYSCTL_HANDLER_ARGS, struct inpcbinfo *pcbinfo, + int (*ctloutput_set)(struct inpcb *, struct sockopt *)); +#endif typedef bool inp_match_t(const struct inpcb *, void *); struct inpcb_iterator { From nobody Thu Mar 12 18:50:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWxWc1KNsz6Vnjr; Thu, 12 Mar 2026 18:50:20 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWxWc0hH4z3Z6P; Thu, 12 Mar 2026 18:50:20 +0000 (UTC) (envelope-from scf@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773341420; 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=LlliOJahPKLwGXvVPNQpVVVY/4upn7qzSf87fjxp1D4=; b=FnXlJQr6qC7INdtTz/NptUMMXOYVJ0+7TZnjpmxTD70BzKbF5K7QL99wnvq7a+RKivEAOR VhwdlVMCzoAk+uT/VW9wPNFFqG6iPpAdqlAQOgyLccdTPBzKTpguhWYnMU+4LTFSvQ/O8m Xt+bi/INAxadLAErhOqmp0hWWR77nBZtyhUSlBH2+qKXF2m4f69Zk+cvdHgRrUMlafyY5D HC4P123yYRgTxpuJoNSyQkZVXvO2ENIlGVnxmY86IKcRgEzTYV9CQCpnnC3ZSEtcDF79FD I0x79AUTmYdd8qjgsdncbAyPazoy80q8r8MdHKJX7epry0Vw3HrfVxWEafoleA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773341420; a=rsa-sha256; cv=none; b=csAIS1goZQ11NyMP0kvNezcyrnw8Cpr0Z30GqzREWFqDjKOBRYu082ABidUilubrfb87XE vvUuZNDmNAeX3W54sMwjz1jtrC8tXgrEZJsTsHydWawJV3F9RpzlUd54iGSllbyNfZA2RG tYrzxrDVGMKyo8UsjdRbAdN06/SXYZ4S9HBqOK8GrL9VpJUzinR3YEU2amNRM9gLhS9Sb0 MF6FNX/R8ug/Zcm4I1Bg4IREWkW9BUjzYRlUl9lMBn592BFTW0TDbMNHcegxQLr6cTHyIE K9Fg1u7uz+XlvRB0fCwu2pJh5+vxCd/EuH/i3VKW9d8x1JvJyJiE8z9Yj2cAsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773341420; 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=LlliOJahPKLwGXvVPNQpVVVY/4upn7qzSf87fjxp1D4=; b=HDQ0h2NUU/9h9zfy83Gz52nYdl+bKbJKyMHxpdilS6hMjhT9e7jj6ds/tKyeazpTbPDbbS 2bmh8gcmpDcC5CPnaQSBs3rdnEGmIvuN3C6Ij9UrEqbuRr7HGdWsb0DtmLw/ZlBSYkuOze z/C1Nbtql4zHr/BUdJ/FMnYuc3cD5swGtFeXnTcuFfbTz8nkOGoE23IUzOrh2dFGp+RE3B HTMcyWKBtGVmhNSPCPYiHWsuqNWXPJrwrKfhH0b/4SFISRlz6enHMiuV3i+w3ATCQ1n5rR Fjws38qpAckRHi3aMM8BUbgV2hAJX+BtVILKhcbWKEErSC+tttySh1Pbt+0CTA== Received: from farley.org (farley.org [104.129.130.189]) (using TLSv1.3 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 (prime256v1) client-digest SHA256) (Client CN "mail.farley.org", Issuer "Farley.org Intermediate CA" (not verified)) (Authenticated sender: scf/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fWxWb5jKvz6Kl; Thu, 12 Mar 2026 18:50:19 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from thor.farley.org (thor.farley.org [192.168.1.5]) by farley.org (8.18.2/8.18.2) with ESMTPS id 62CIoFmr077535 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 12 Mar 2026 14:50:15 -0400 (EDT) (envelope-from scf@FreeBSD.org) Date: Thu, 12 Mar 2026 14:50:15 -0400 (EDT) From: "Sean C. Farley" To: Christos Margiolis cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: ac5ff2813027 - main - sound: enforce MASTER volume mute during playback In-Reply-To: <69b3047f.1fd0e.58f3ac16@gitrepo.freebsd.org> Message-ID: <84dd75fa-4716-4ca9-700c-558e999baff3@FreeBSD.org> References: <69b3047f.1fd0e.58f3ac16@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; format=flowed X-Spam-Status: No, score=-1.0 required=4.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=4.0.2 X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on mail.farley.org On Thu, 12 Mar 2026, Christos Margiolis wrote: > The branch main has been updated by christos: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ac5ff2813027c385f9037b47b2b164d4c1bebd09 > > commit ac5ff2813027c385f9037b47b2b164d4c1bebd09 > Author: Sean Farley > AuthorDate: 2026-03-12 18:22:02 +0000 > Commit: Christos Margiolis > CommitDate: 2026-03-12 18:22:02 +0000 > > sound: enforce MASTER volume mute during playback > > MASTER mute (vol.mute) works while audio is playing. However, if a > stream is stopped and restarted (PCMTRIG_STOP -> PCMTRIG_START), the > audio will resume even though the mixer shows the MASTER volume as > muted. Other streams that are already playing remain silent. New streams > may also start playing audio regardless of the MASTER mute state. > > The volume feeder now considers the MASTER mute when determining whether > a channel should be muted. This ensures MASTER mute is consistently > enforced for all streams and removes the dependency on trigger-driven > state propagation. > > Tested with Creative Labs CA0132 card. > > MFC after: 1 week > Reviewed by: christos > Differential Revision: https://reviews.freebsd.org/D55605 Thank you! Sean -- scf@FreeBSD.org From nobody Thu Mar 12 19:39:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWybt0VPTz6Vs5Y; Thu, 12 Mar 2026 19:39:06 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWybs6r5Zz3fZx; Thu, 12 Mar 2026 19:39:05 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773344346; 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=9CXORDW2Eu/gxEbxVt3xvB7sEcfEgeTx5ZPbi5G1T4c=; b=EosD5vyAV6QU99H98QHk2YzKBr3dXUwHvn9gpp6/NkC5/JI5iurH/yYMTYmsSiYGiMpfDR v3PpamCuBg6XZPqJgBw4u5sYSQCvXgS28vlipUFNkKHfL9NDdhKtJNBwKwzdjFE/elMx7g TAU5WVhQ67s0hPGJCEefut3dmo6rCw/JWeNpuSVFpZjSkCW9VCxxA6LpijghGCvjOkawgK hO/KWY0NceNMMQi5PGVXNiNhDuZPUF6YSscJAX4xLdmE9QhO8l7hvGp+OswS+zz/S4UoJZ szp41zWiZaIcnU9OgKC4lUEMdDK2SvPix20tSNZWN1U8CLYVrgt1Cg5olGY5uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773344346; a=rsa-sha256; cv=none; b=VWnYKLhqlvsber0g0wnyQuqItJHpfPVLYyBhldV3i/3vJ5eU3Jc5UG4UkI0gceFYtkIwg/ guX0nOHeQmoD6+vuxv/LrWinpL9wRBP7zxxZmgLSuRntLC9lgBJOJVY1gCQCHYJtFcMHFy g/mvglQBdDImIVFysZHr6uCgKrfwdAdeeD5R+4shBLgkLgYsK1g6LOJjBiF8eFL+2WJId0 pu8lOjM5DQYjtddZNYfIc3nfQdH+/s1YkGuPfhq4kzH4FGenMVh6GK+ixNyL3ALNgdgOxp PwHdjmKJTAciJ4E1Ub/6wEC4gc/Q6oAB1k7j0xoQdUwVgeNH73gLcllnl5Mygg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773344346; 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=9CXORDW2Eu/gxEbxVt3xvB7sEcfEgeTx5ZPbi5G1T4c=; b=xa62AiCxKOdnb1wjJdJWsXMFiIuzxXLIVmUu11YaUeDoNDj7Vhz5nIah1ZqXXzEI5E3Yau H1MbH8CEu+Ted8owONQzF4emFPhyATYHaPbNJkipCTJCGZovyXo+WfYuetlCOJEaLQxnzd KJcrTfaLorIxO5c98dV6/z8Ov9qW09AV0y/nqbK7oADJY+QhRetsGVoQrU105uidQGS/RB 2oCw4YdiXhmzuYQOEeZD5hIP4Z+oNGwLwRaqXEDmenguG/QaDhl45E6HLmBPUiOIMF8V3f WLYXg9nHDqcR+1tGAaNSLJm1GQ0y1avttAiBH8YeiwUpzjCq/QY0FdNjKEfV/g== Received: from [192.168.2.224] (chtwpe0124w-47-54-102-213.pppoe-dynamic.high-speed.pei.bellaliant.net [47.54.102.213]) (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: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fWybs5Llkz7Gc; Thu, 12 Mar 2026 19:39:05 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <90b570b8-a093-4d6b-9028-f229edfdf118@freebsd.org> Date: Thu, 12 Mar 2026 16:39:05 -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: a2b2ce2c15bb - main - DEFINE_IFUNC.9: update NOTES To: Robert Clausecker Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <69b2d252.38e13.8446a44@gitrepo.freebsd.org> Content-Language: en-CA From: Mitchell Horne In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/12/26 14:10, Robert Clausecker wrote: > Hi Mitchell, > > Does that apply to armv7, too? I thought they weren't supported > on armv7. > > Yours, > Robert Clausecker > Yes, armv7 too. mmel@ added the support recently, in d78cbf483fe7. Userspace ifuncs remain unimplemented on that arch. Mitchell From nobody Thu Mar 12 19:46:05 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fWym3662Lz6Vsg0; Thu, 12 Mar 2026 19:46:11 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx-01.divo.sbone.de (legacy1.sbone.de [80.151.10.34]) (using TLSv1.3 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 (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E7" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fWym26KHxz3gLs; Thu, 12 Mar 2026 19:46:10 +0000 (UTC) (envelope-from bz@FreeBSD.org) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=freebsd.org (policy=none); spf=softfail (mx1.freebsd.org: 80.151.10.34 is neither permitted nor denied by domain of bz@FreeBSD.org) smtp.mailfrom=bz@FreeBSD.org Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id EA3F7A64805; Thu, 12 Mar 2026 19:45:48 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 9BF8B2D029E7; Thu, 12 Mar 2026 19:46:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id r84VpIAfXQmF; Thu, 12 Mar 2026 19:46:07 +0000 (UTC) Received: from nv.t4-02.sbone.de (nv.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id A2CFC2D029D8; Thu, 12 Mar 2026 19:46:07 +0000 (UTC) Date: Thu, 12 Mar 2026 19:46:05 +0000 (UTC) From: "Bjoern A. Zeeb" To: John Baldwin cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 14b8a27883c1 - main - pciconf: Add a tree mode In-Reply-To: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> Message-ID: References: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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; format=flowed X-Spamd-Result: default: False [-2.33 / 15.00]; NEURAL_HAM_LONG(-1.00)[-0.998]; NEURAL_HAM_SHORT(-0.92)[-0.916]; NEURAL_HAM_MEDIUM(-0.42)[-0.420]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : No valid SPF, No valid DKIM,none]; ASN(0.00)[asn:3320, ipnet:80.144.0.0/13, country:DE]; ARC_NA(0.00)[]; FREEFALL_USER(0.00)[bz]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; R_SPF_SOFTFAIL(0.00)[~all]; FROM_EQ_ENVFROM(0.00)[]; MISSING_XM_UA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4fWym26KHxz3gLs X-Spamd-Bar: -- On Tue, 10 Mar 2026, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=14b8a27883c15d3add3114f855eff7c6bda1b015 > > commit 14b8a27883c15d3add3114f855eff7c6bda1b015 > Author: John Baldwin > AuthorDate: 2026-03-10 16:51:00 +0000 > Commit: John Baldwin > CommitDate: 2026-03-10 16:51:00 +0000 > > pciconf: Add a tree mode > > This lists PCI devices in a hierarchy showing the parent/child > relationship of PCI devices and bridges. While this is inspired by > lspci -t output, the format is closer to ps -d and also prefers using > new-bus device names when possible. If a device does not have a > driver, the PCI selector is output in place of the device name. > > When the -v flag is given, the vendor and device ID strings are output > after the device name. If a string for an ID isn't found, the hex ID > values are output instead. If this is what I enquired about in Dec 2023 then a HUGE THANK YOU for this. Can't wait to try this the next days on my 64 mPCIe arm64 machine. /bz -- Bjoern A. Zeeb r15:7 From nobody Thu Mar 12 21:51:27 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fX1Xq5XHVz6W33F; Thu, 12 Mar 2026 21:51:39 +0000 (UTC) (envelope-from fuz@fuz.su) Received: from fuz.su (fuz.su [IPv6:2001:41d0:8:e508::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-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "fuz.su", Issuer "fuz.su" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fX1Xq2gtQz3vyg; Thu, 12 Mar 2026 21:51:39 +0000 (UTC) (envelope-from fuz@fuz.su) Authentication-Results: mx1.freebsd.org; none Received: from fuz.su (localhost [127.0.0.1]) by fuz.su (8.18.1/8.18.1) with ESMTPS id 62CLpR85041019 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 12 Mar 2026 22:51:27 +0100 (CET) (envelope-from fuz@fuz.su) Received: (from fuz@localhost) by fuz.su (8.18.1/8.18.1/Submit) id 62CLpRbY041018; Thu, 12 Mar 2026 22:51:27 +0100 (CET) (envelope-from fuz) Date: Thu, 12 Mar 2026 22:51:27 +0100 From: Robert Clausecker To: Mitchell Horne Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a2b2ce2c15bb - main - DEFINE_IFUNC.9: update NOTES Message-ID: References: <69b2d252.38e13.8446a44@gitrepo.freebsd.org> <90b570b8-a093-4d6b-9028-f229edfdf118@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: <90b570b8-a093-4d6b-9028-f229edfdf118@freebsd.org> 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:16276, ipnet:2001:41d0::/32, country:FR] X-Rspamd-Queue-Id: 4fX1Xq2gtQz3vyg X-Spamd-Bar: ---- Hi Mitchell, Thank you for the update! Yours, Robert Clausecker Am Thu, Mar 12, 2026 at 04:39:05PM -0300 schrieb Mitchell Horne: > On 3/12/26 14:10, Robert Clausecker wrote: > > Hi Mitchell, > > > > Does that apply to armv7, too? I thought they weren't supported > > on armv7. > > > > Yours, > > Robert Clausecker > > > > Yes, armv7 too. mmel@ added the support recently, in d78cbf483fe7. > Userspace ifuncs remain unimplemented on that arch. > > Mitchell > > -- () ascii ribbon campaign - for an encoding-agnostic world /\ - against html email - against proprietary attachments From nobody Thu Mar 12 23:03:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fX37q6mtJz6W7wy for ; Thu, 12 Mar 2026 23:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fX37q5spyz43lD for ; Thu, 12 Mar 2026 23:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773356615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvqBjCBXdQRkNYDF9KqRR+O9zmRuvDc60F8mVfCUVew=; b=ofKM13Dt21zxy8FqCBhR8AKi+MJCbGwM1AIop5X4wA7IOJsb29VegwwfLWywof6Ym40+Id N1t5+fQ6LfHHLIn9lESbc3WlrxuKfmyK5sWtkjBDiP5ZV6jM8vMOqyoccVPJpNtXToQB9a ML2IkB1NcdbwTQAQfrhB5iBSYC6ebIsA2tLn33++yWAmzdNt8XdR83bjhrsPqsy/HrbgRB al8hXKzZ7c6u7OUCRvsikd0CPcS3MKW65uz1FTCT1LEgqylIOTySG9npFdsKqVb1QBQZuH BvsFanJyYvow0lc5f23LOQS+8gv5auy+q6SG1VZ8OW+4Zkt/s8XyXPkZn5Rg6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773356615; a=rsa-sha256; cv=none; b=SDLuNE3Ss2v0qvHEs6HbOGaxSDzehr2gFIbfv9solR+S4EpwVCLVlS+3xo4OB6MvkuNpLI v/xkWQa1eqtljDMKcFIeu8VC8WhOddvhAfWXD7okJVywpRk5V+yym+kh3ZWZeuRsKrdSMc SO25Rpn3c+7rZLP4x08pzRafwvRw3Dha7RhS/JLeOZQvdwdJma17RWbI8AUFCnyVl7utd5 d4AH4L+Sleccm5XtOlif6WDVVMFfnSvKpEP+K9laciYrHnCL9RSxNQ6mQtoLgVpQKFxW3T ANxbuhiB0h0UWx+hQyq4T1SWqXwgkmqx0kBuZ20LklBcFknaOI79VAlqUpwAsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773356615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvqBjCBXdQRkNYDF9KqRR+O9zmRuvDc60F8mVfCUVew=; b=qSDVKukdFti/mfOZpRFvnt6vCLIZWM8yjKoAOaGuzqT1JElj/77oLjYZ7Jse+K2ZbHUtYV GBRvjQoz8TMALY5w/QMmVUmSiXt43LecdYVav7rvHzrnC8A4TmeWbuqBS63zdmXpQiVOts q38VBHVds4ixP77xRb/136p8H3Ns8xCGvylRpz3vbfgUgeV2KRr6Wjom2Oi1Ob7PEzsuzZ Uy7NTNRG7PTAElFGOQpAcC30Daw4FcLOR3q8am+n9agIyQS8Qp60Z+sHdgZ0lriIlndfqC LqLNqQr8xlhGweSn1KWtt5vcU/3TaR5g6M7XkhydatRlYs9Z24pDf0+71lV9Jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fX37q5CzNz14sG for ; Thu, 12 Mar 2026 23:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1be72 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 12 Mar 2026 23:03:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pierre Pronchery Subject: git: 4c72e5cde017 - main - calendar.freebsd: add myself (khorben@) List-Id: Commit messages for the main 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: khorben X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c72e5cde0177f19fd10f8bbd6005882075a7830 Auto-Submitted: auto-generated Date: Thu, 12 Mar 2026 23:03:35 +0000 Message-Id: <69b34647.1be72.1eed1047@gitrepo.freebsd.org> The branch main has been updated by khorben: URL: https://cgit.FreeBSD.org/src/commit/?id=4c72e5cde0177f19fd10f8bbd6005882075a7830 commit 4c72e5cde0177f19fd10f8bbd6005882075a7830 Author: Pierre Pronchery AuthorDate: 2025-11-25 09:51:57 +0000 Commit: Pierre Pronchery CommitDate: 2026-03-12 22:53:32 +0000 calendar.freebsd: add myself (khorben@) This adds my date and place of birth to FreeBSD's calendar file, so I can let the system(tm) remind me when that counter increments. Confirmed to be working with the following command: ``` $ calendar -f usr.bin/calendar/calendars/calendar.freebsd -t 18.08 Aug 18 Pierre Pronchery born in Nantes, France, 1982 [...] ``` Reviewed by: philip (mentor) Approved by: philip (mentor) Differential Revision: https://reviews.freebsd.org/D55825 --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index 37dad2d237a7..9084ed0589ec 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -337,6 +337,7 @@ 08/14 Stefan Esser born in Cologne, Nordrhein-Westfalen, Germany, 1961 08/16 Andrey Chernov died in Moscow, Russian Federation, 2017 08/17 Olivier Houchard born in Nancy, France, 1980 +08/18 Pierre Pronchery born in Nantes, France, 1982 08/19 Chin-San Huang born in Yi-Lan, Taiwan, Republic of China, 1979 08/19 Pav Lucistnik born in Kutna Hora, Czech Republic, 1980 08/20 Michael Heffner born in Cleona, Pennsylvania, United States, 1981 From nobody Fri Mar 13 00:30:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fX54F5qtzz6V2KC for ; Fri, 13 Mar 2026 00: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fX54F36B1z3DjD for ; Fri, 13 Mar 2026 00: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=1773361837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O/JxNUEg4h9xJXNpGywK+JIirk3+2ZTp5qSVKFMMzOk=; b=rDu+f6ZKrGyrN9298t5CtW3xkdp1EnWd+sb4+i4J2Ef4cTEzCRIwpb1w7TD+VPBZ09RmkA 6QdOxmnqznU1oRkG9xrp0VHHfr+6kbXH5/t7eew1Gq658AOG0Y7XIdvB8AVXD+BFmywL55 REu1B/xqLftaE/Z+VGSj5cSVIOCkml8M92R5LY+xFr5RVWI31Wo6UDWgfpv5o33PdSueFe vrDuILrvbAM6odI5uaeHwcT/axysGMA/vrGKrqyOss+YjooeEMhywhY/P1dwrY7wakhAyr TfhD3iZsVuyGFoDLuvqsNX12upmdFVvMnUU1U0X7z1MGTku8+bOhW2jaHdEJ4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773361837; a=rsa-sha256; cv=none; b=D+6/y2ptfih6x/bhRFeTl2zX8sTKs1MrzzsrjdRnxvfq6Cf9i+S/Ririns6h4BMupupSsd Y46pSH3H3ky3TcFuMO+pSGcGHB4GWdYyYqFFvI9cZHp+rFwL+Rib95YE+CqNF6zr2+1Ntm +MrqIk/X9H/OX9Gdng67h0ZIzG1rLpYLB7tiHJx6jZL/i+XRC8pS1U4/aB95GNERnrvsDt sy2YZOt8S0RuDpKA49O+1utgr6TmSuO8WBOWRqDG895tNPG7np7g9YqPYDoFSGdTowuTXB JM978VKTOce6ytEiDUbkn63Uxo2QRmgBojP7mFnoVnzZmxEDuJ+9YlXypW78Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773361837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O/JxNUEg4h9xJXNpGywK+JIirk3+2ZTp5qSVKFMMzOk=; b=TTYqlDgsNwg9tbWMjflSTCrlBSMBFo439N+MMbmOK+602f2An7V7JBfZoEEteqMCV3AtaP GStpp5C21PGap6KjjksB27TZ5Ufp3JatIeWscyL+lLp4Q3uBs75oIkEVU5jce/TEDeAHrm +i52YD0POdu3VP6kZ/oAyPOrp2jlz+3/e38f1r+hvLvMaAPZFm8fc8HwnxFVZUZfxqShCh IoMOOU12gJu/L5msFWYRqeskJO1Ziqc/JDgg4rYSrnpR4R1Ve8j4OKbRU9c0e4YFsKBwXo Wb1CjuUXRzzj4PJoIiUiS/CDIOjt3jTCJjQ7RWnntmSYoHddUOP0iHGRaPqfrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fX54F2dR4z177w for ; Fri, 13 Mar 2026 00:30:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 264f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 00:30:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 097cb4e9f043 - main - compat32: Zero struct to avoid stack disclosure List-Id: Commit messages for the main 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: 097cb4e9f0432c543c704cec712ce1cd3302335c Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 00:30:37 +0000 Message-Id: <69b35aad.264f1.24dffcb9@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=097cb4e9f0432c543c704cec712ce1cd3302335c commit 097cb4e9f0432c543c704cec712ce1cd3302335c Author: Ed Maste AuthorDate: 2026-03-11 15:02:18 +0000 Commit: Ed Maste CommitDate: 2026-03-13 00:30:06 +0000 compat32: Zero struct to avoid stack disclosure Reported by: Adam Crosser, Praetorian Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55811 --- sys/compat/freebsd32/freebsd32_misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 1064987c3abf..4ec6dd452b32 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -757,7 +757,7 @@ static int freebsd32_kevent_copyout(void *arg, struct kevent *kevp, int count) { struct freebsd32_kevent_args *uap; - struct kevent32 ks32[KQ_NEVENTS]; + struct kevent32 ks32[KQ_NEVENTS] = {}; int i, error; KASSERT(count <= KQ_NEVENTS, ("count (%d) > KQ_NEVENTS", count)); From nobody Fri Mar 13 00:30:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fX54G5L73z6V21c for ; Fri, 13 Mar 2026 00:30: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fX54G4532z3DVx for ; Fri, 13 Mar 2026 00:30:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773361838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MD8lqDZG0j6KDuDoYdX+T4EZc4a4/RJVBnQsamJbXo=; b=ehNsyoZ7ZsAe2woACnQKS0RlHNGmFq9GnP7aPlC1eskQXKheORjAZCBl/4K7zW5v8vMreD bpr+XwMPo919uY5jjJuGeAIIX0s4IGIFrY76MXpQuf7SnAv6umEOuPDBiXvYzG7Hg9JTdb JGSBEgHrsy6EMXompqv57ORO36KcQvylQ4MeGcSw97QLUfqAujKqcViziSno0rA+r+fsdh tS55FRy6DU+Jgsee2UxRpovSgaCQkSS7h0RfyzD4YtZzdXqFhbv7ITC0jR1AXkie5UuMpu qV8Pq0bwwMOrf4oKbDkaf99h/vkn1yATlO973pbkS8Ly3u2UDecFluJCq5IlXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773361838; a=rsa-sha256; cv=none; b=o2BHCqs/7MQuyb4nbG/DK7VMNYbjxH9pZd2aIHGahRFysRGrZGQr4Vy1Hc6qzAkyTKQiyz RPgYD1NWGf6GeS8VvPdeouBeQnEl6VF7q6BTL04Unanvu5ZUdngesNg6SKnaAtfA7gdbLX WXvnGWU3tRHZ2TTUMSZh2YdIOvSPX5zL6TRIfQVlHq1+uMl9y5fdHilg07LVVYDmPx8Tbw LbVougegAy2WFLX6VDbVYhK5I4XCLUSn0PXKiGVQ7PDQAq8RSV0HqB7OfXfAMCWj6+NdZP IMtdlSkXmssndchPdS0rNPZo45FJ5IIjekVwlA3+MWzLaeT2kxXuvhhyAX4QEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773361838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MD8lqDZG0j6KDuDoYdX+T4EZc4a4/RJVBnQsamJbXo=; b=fKOygY6YVTa/7Mjh5J6VRlnEVNVXNREJoMi2nLPnYqIYJ2oEbkTLbv9VNpPI57651l69cT C0my3ksvmG2qEz38bsBYl0xBcwCJd1Eb+L5uRyc4THqaKPa4y6Ng8IBjPEGRfC3MJabJ8C 6Kw7ie6J1bhcO4CBiTO5jKE/ohsCv06W83fmz/n6UVVPmgkldqcD3EAio1WArN64Wfy9f4 H1HRQX4YEoVMwyHZghvDf0Ath1WLRA1PpmUYpVB7/rqNdKUu7cvMxAduo84MEB6/tN7WKd 1RIhp6W74vrPaj7xnmDv5In4piZwvvuCBJr1fxUIs+64H3Vj2oYUQS8da+rX0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fX54G32nWz17nD for ; Fri, 13 Mar 2026 00:30:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27420 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 00:30:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 9a9f93bcf1aa - main - compat/linux: Avoid waitid() kernel stack disclosure List-Id: Commit messages for the main 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: 9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 00:30:38 +0000 Message-Id: <69b35aae.27420.5f3155ff@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd commit 9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd Author: Ed Maste AuthorDate: 2026-03-10 13:53:46 +0000 Commit: Ed Maste CommitDate: 2026-03-13 00:30:17 +0000 compat/linux: Avoid waitid() kernel stack disclosure Reported by: Adam Crosser, Praetorian Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55812 --- sys/compat/linux/linux_misc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 69fb9935a9ae..937b010c8435 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -750,6 +750,7 @@ linux_common_wait(struct thread *td, idtype_t idtype, int id, int *statusp, error = linux_copyout_rusage(&wru.wru_self, rup); if (error == 0 && infop != NULL && td->td_retval[0] != 0) { sig = bsd_to_linux_signal(siginfo.si_signo); + memset(&lsi, 0, sizeof(lsi)); siginfo_to_lsiginfo(&siginfo, &lsi, sig); error = copyout(&lsi, infop, sizeof(lsi)); } From nobody Fri Mar 13 11:06:55 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXMBS1HgBz6Vv7g for ; Fri, 13 Mar 2026 11:06:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXMBR6kTfz3Gx4 for ; Fri, 13 Mar 2026 11:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773400015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bGR6QbEjAlbL0FuaNHik46r/6STai2uNVlhptde+ejU=; b=iAc4utgf70CVsOuCq/NkdQwoMlCMOZTwbXNfo4c3rD3/MPI55tYJ3Wyi/5b2eJlsBAHTjF mDAXv2E0/TNtYjMUALJTAIAErT3Jj6E96qW3s/rF8jaLdcmYmFzVF45EJzSasXYyRqjOlC dePgf/a21vIkS14G9EnU17394Fw+rneFOX8l1fLaBUDy4apl7Dyiwfs+liN9tAMpyLoB68 VDnpE4UN24o1ZT+JUDu5mhHHbHlAkHDqG98c8bmHc9/Kbj97sqWxr6d9UJmwwubMJft6zl 8crUtTRzILU5QtYE0/iZ+rlqGicH+iFH/veSwEgJG8T4yGeJvpZ411aoIFKL+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773400015; a=rsa-sha256; cv=none; b=jGLJXDCt3808RkGUlvdENl7txB67aoTzC3BbUXppyhkhXOz6bY7Q+xYAcr9shgWp1lSjzz JJIBx51pRm3ELPZzzC7n82sBuLxEP9VQrLxxcS6XOV5lWCRbDDNlERiBdOlnICfBLMH3DS OeGz/oOFAo34kZ7iXFVZDsqWE+RXT9kPmtzU7pjU4/HE2QNAU8SVTYbq6ei7oRj/fnvgb+ FOcjc/hgT0ZjCKkkwYLByRQmbybbq4S3joAuiLWZOL08DR5YB8dUBPHRsCBIAmBTwoeoZo YW4PP7hqpoQ3Lb4+I5TzDoRI5lMjd10AmcddciMxi/euIfYyAIIxotCLeQ8kLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773400015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bGR6QbEjAlbL0FuaNHik46r/6STai2uNVlhptde+ejU=; b=n4PEXQ6uaZ6abNGq9BGzP228V0Ud+oP8dykF1lK09bf11lLvrBiT4hVIsNnzSRwUxXY96A xbrCmAqL6rC2kuefCtHGHgHDl3i/dQzJ0hB+O9F+eYjoSkhCI0IfIT07CjyBEeQ281S4YA mYVeSABuNase78nVWZZEFA6G+r0O8M2WR+OwdpaBjavTttggO8dMM6TAw3fbzCWTxw/SRP R7wgH8QheYshyq/hEjEODZg3v+xadG07CwZQ7ctivG9+ykjD+B1FMGBMYfspSynWOFZgZE dUSDdbwnpqhxWwOVAmoke6X8vUjXr+FqvsNqTOdsEO8QiLTHPjSwT8RtKN8I+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXMBR5rxSzTGy for ; Fri, 13 Mar 2026 11:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1920a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 11:06:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Koshy Subject: git: b5f564fc5cdb - main - sys/elf_common.h: Add the gABI spelling for a dynamic tag 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: jkoshy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5f564fc5cdb56d6a24e31ca077c5f1f088a597d Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 11:06:55 +0000 Message-Id: <69b3efcf.1920a.4116ad58@gitrepo.freebsd.org> The branch main has been updated by jkoshy: URL: https://cgit.FreeBSD.org/src/commit/?id=b5f564fc5cdb56d6a24e31ca077c5f1f088a597d commit b5f564fc5cdb56d6a24e31ca077c5f1f088a597d Author: Joseph Koshy AuthorDate: 2026-03-13 10:56:17 +0000 Commit: Joseph Koshy CommitDate: 2026-03-13 11:06:03 +0000 sys/elf_common.h: Add the gABI spelling for a dynamic tag value. --- sys/sys/elf_common.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index b1ddbaaf39ab..8c21d886c6a5 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -640,7 +640,10 @@ typedef struct { pre-initialization functions. */ #define DT_PREINIT_ARRAYSZ 33 /* Size in bytes of the array of pre-initialization functions. */ -#define DT_MAXPOSTAGS 34 /* number of positive tags */ +#define DT_SYMTAB_SHNDX 34 /* Address of the SHT_SYMTAB_SHNDX section + associated with the symbol table referenced + by the DT_SYMTAB element. */ +#define DT_MAXPOSTAGS 34 /* (obsolete) number of positive tags */ #define DT_RELRSZ 35 /* Total size of ElfNN_Relr relocations. */ #define DT_RELR 36 /* Address of ElfNN_Relr relocations. */ #define DT_RELRENT 37 /* Size of each ElfNN_Relr relocation. */ From nobody Fri Mar 13 11:41:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXMyM3ZH8z6VxVQ for ; Fri, 13 Mar 2026 11:41: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXMyM249sz3Kt5 for ; Fri, 13 Mar 2026 11:41:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773402091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T3zu2Rq2Obb7FOXh7ZJuphDKbbPrJlw2esxqU0zjCYo=; b=s1hf+mLHenD6eAEjT59CSaf9xyTB7UFfTbKZfIT/N3ZcVlpo+GKyf/DNsIkPYr6KwCgbB4 xW9hhi0VRCuZH/A79LAdVPO8SGycElZ8Cv5KygbfQ5vagwp+frQfPwAnS34B8vwVSLGchT uSWfjG0VjnjXb0nvLqz6+UobzHqHKGF5bmvUJ70jxd4PP7XU6E7/71VK5n61vP6wg23Yve 2pGd+OLbO51NARXbmhsmkVVHh2svDvnNv1CNDlPxY/9iHVIAWsi13UfI9jSjKaFcOTqhg8 ol1nMkAuKuem4iKB4a4ylJ0IeDS4b7X2x30rTx9iF0u7PuiKIGImOQ+LbledAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773402091; a=rsa-sha256; cv=none; b=inT1uj09JJ2MoA6sZT1ntCJlKVH4++fnu0ul6e2Gn9pShAM5bSwm8UC78UKhCaDNBQM4aA QhrgEyC3cdd+5YacJXNytYhms9MjdCzLp+ADBq1ahljkMDvPeakj6pdtvAfkDtpX5OPdd5 c9HDlreHv4RUuMiGM131XtmAmVFbpW6Ab/5/jj7COv0SEl4nA+DmPRDitLtufiDjVrtnT+ 5kEP8XwXKUL74HRQlxqQu0gxswvPF7UZtvX2BUCrmVXIfIMSCFUl36scn3DGZAXiYQv72F DVXbunUq9B6V2wb210JfM/rKq/KHXvh8MHZjaV+JnzvCCgt5wYv/RH52O2f68A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773402091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T3zu2Rq2Obb7FOXh7ZJuphDKbbPrJlw2esxqU0zjCYo=; b=dpFl3z2UE7DtikPxHlJr23yn/bv8Bt6oXScn7pdZT6pkD7DGgHdb80AZ/fO+lsS3MaEFkM 6d6pr4yi8WtUyL8OJmFHIJRi2vCZCg8Q/FSTKUaPCpJjeBE/NJ8XJZVdbIa3pYx4Acz+xK 5KPQlth3tWCi0RbCzu1HuLeZx3qA3uHOwyIHhirrMx92d/Uy57HNXmVdbZKKj5M/WFfdSk yX/en9DKbFTPoXR9cmdpVLZCsiy4Mx+cQpwuUV0yrWnvx2q1WUW/GBo9BJvzxBO531X58a nYurtt4iM2yPPOpwkaD3Cp6yUPGDFS74YiddVbfpGIg0pqxMxqw2xCIr6PEbXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXMyM1gNszVRC for ; Fri, 13 Mar 2026 11:41:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e0a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 11:41:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 75f1665f3346 - main - ndp: Fix free after use and exclude delayed proxy List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75f1665f33463e9ee0aaa63af0a875e6c46f8755 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 11:41:31 +0000 Message-Id: <69b3f7eb.1e0a8.4bd61a06@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=75f1665f33463e9ee0aaa63af0a875e6c46f8755 commit 75f1665f33463e9ee0aaa63af0a875e6c46f8755 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-13 11:36:04 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-13 11:36:04 +0000 ndp: Fix free after use and exclude delayed proxy PR: 293777 Fixes: f37fbe30f559 ("ndp: implement delayed ...") --- sys/netinet6/nd6_nbr.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 0a34e0e3628e..25786ebc0ea1 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -361,7 +361,7 @@ nd6_ns_input(struct mbuf *m, int off, int icmp6len) * be delayed by a random time between 0 and MAX_ANYCAST_DELAY_TIME * to reduce the probability of network congestion. */ - if (anycast == 0 && proxy == 0) + if (anycast == 0) nd6_na_output_fib(ifp, &saddr6, &taddr6, rflag, tlladdr, proxy ? (struct sockaddr *)&proxydl : NULL, M_GETFIB(m)); else @@ -1652,16 +1652,16 @@ static void nd6_queue_rel(void *arg) { struct nd_queue *ndq = arg; - struct ifnet *ifp = ndq->ndq_ifa->ifa_ifp; - - IF_ADDR_WLOCK_ASSERT(ifp); + struct ifaddr *ifa = ndq->ndq_ifa; - /* Remove ndq from the nd_queue and release its reference */ - TAILQ_REMOVE(&ifp->if_inet6->nd_queue, ndq, ndq_list); - IF_ADDR_WUNLOCK(ifp); + IF_ADDR_WLOCK_ASSERT(ifa->ifa_ifp); - ifa_free(ndq->ndq_ifa); + /* Remove ndq from the nd_queue and free it */ + TAILQ_REMOVE(&ifa->ifa_ifp->if_inet6->nd_queue, ndq, ndq_list); free(ndq, M_IP6NDP); + IF_ADDR_WUNLOCK(ifa->ifa_ifp); + + ifa_free(ifa); } static void @@ -1671,6 +1671,7 @@ nd6_queue_timer(void *arg) struct ifaddr *ifa = ndq->ndq_ifa; struct ifnet *ifp = ifa->ifa_ifp; struct in6_ifextra *ext = ifp->if_inet6; + struct in6_addr daddr; struct epoch_tracker et; int delay, tlladdr; u_long flags; @@ -1680,6 +1681,7 @@ nd6_queue_timer(void *arg) CURVNET_SET(ifp->if_vnet); NET_EPOCH_ENTER(et); + daddr = ndq->ndq_daddr; tlladdr = ND6_NA_OPT_LLA; flags = (V_ip6_forwarding) ? ND_NA_FLAG_ROUTER : 0; if ((ext->nd_flags & ND6_IFF_ACCEPT_RTADV) != 0 && V_ip6_norbit_raif) @@ -1713,8 +1715,8 @@ nd6_queue_timer(void *arg) callout_reset(&ndq->ndq_callout, delay, nd6_queue_rel, ndq); IF_ADDR_WUNLOCK(ifp); - if (__predict_true(in6_setscope(&ndq->ndq_daddr, ifp, NULL) == 0)) - nd6_na_output_fib(ifp, &ndq->ndq_daddr, IFA_IN6(ifa), flags, tlladdr, + if (__predict_true(in6_setscope(&daddr, ifp, NULL) == 0)) + nd6_na_output_fib(ifp, &daddr, IFA_IN6(ifa), flags, tlladdr, NULL, ifp->if_fib); NET_EPOCH_EXIT(et); From nobody Fri Mar 13 11:53:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXNDS6RzFz6VyNt for ; Fri, 13 Mar 2026 11: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXNDS4Y99z3MlZ for ; Fri, 13 Mar 2026 11: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=1773402824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cCcPUciSeyPAojrO0a5Bf4JEfhki/tGCiBqreGEXK5Y=; b=Zq5be4RZE9Wh1sM0jWQbAiJpDRH2kM0DoGXJLGhMYLNa4zprZJMz1KiyPlX85fAsZGINkC 5h55Fxn7Krgjdc6TJX4wB63DzcIAUSPsQbifiRVC61wPgCW4vLlX4JOiEgVOYgGvJV3nSH AgP5KHTJIU+Wg6jawB5yEQpMLoKxzYvMvayueTXS1Xj1aUnjpwY2PjYExg1+kaEwUW9WSi HY/kPnJ4iZS+gUbFWlUHHy8smbsrmez+/tww6OytzXTzwpsSTKpz7VacF1QH6Vv7gq9sPm Fu6+tGXwAKri+f6M5Tc+VB2XRnURZVQ32XuJLTKgLU4tdHZ5OaqJMORINiiepQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773402824; a=rsa-sha256; cv=none; b=XJoAmwcDUYDxqmNbfVwPRSkR2XGgCp7Q7Kx+7kyut+NCDZY+AINS8olg4QiPHawfKYgulS t5QwmZ2+lJQRIam7R5n1rR52tAKYv5MhhBUilbKHXIV6UqkK6FfT8d19+Xj9+fgawre/B2 YjDy2gWsAiq4I6sJfz2Cfbv7977kTACgV+sqPgxy4KYFTQjwzXzO4TK9CwaIbQ+MsEuPE7 KxSKIYuxLdjhy0POGuj3g2sp9QFHEYztfbk6aGIjj+EbzaOBMT9wdInj8cQZl/uoCFXv7x WuZoMHg9cRxB5t2EGlzk+lmyf433mbcEFRINBK6at8RibdsW52wOnEEezvrang== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773402824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cCcPUciSeyPAojrO0a5Bf4JEfhki/tGCiBqreGEXK5Y=; b=QspKQagIM5owdtqKx3npBzz5jF3qYAqvOYttmGwl88uI6O3tQiaEBmr1KpHp9reuMCHdb7 v1uXmB6htp8BNVp6oGTx6hcetbWStJLTEeuh2OoaHViYoNouVbwJbgFylClgx8RCKuH/Fg D5TDD6CTHzQx+oCdf+aTs3a5hFTEuTlqM9siMiQ4VtYRkKRkxz4Hd5sQJfENCi/f/Nr25J YbvnFbZTwXG7Iu0sO/j2zoMdhsSPWZ8fwT2fnuH1XM6T57ToORKwJQRXbTOMeUD6NMfwi0 UXsHZLbzKEE+3RYcGeLOvOH9wOvub5QLQJD7BMCRDzhfMFKGM10tKz2YAa7EqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXNDS47k3zWY6 for ; Fri, 13 Mar 2026 11:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f291 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 11:53:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Krzysztof Galazka Subject: git: 13ee84c591f8 - main - ix(4): Add EEE support for E610 adapters List-Id: Commit messages for the main 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: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13ee84c591f8df7553fc8e3dac7e92409046f4d2 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 11:53:44 +0000 Message-Id: <69b3fac8.1f291.2ef771c0@gitrepo.freebsd.org> The branch main has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=13ee84c591f8df7553fc8e3dac7e92409046f4d2 commit 13ee84c591f8df7553fc8e3dac7e92409046f4d2 Author: Krzysztof Galazka AuthorDate: 2026-03-13 11:48:12 +0000 Commit: Krzysztof Galazka CommitDate: 2026-03-13 11:48:29 +0000 ix(4): Add EEE support for E610 adapters The ix driver now supports Energy Efficient Ethernet (EEE) on Intel E610 devices. EEE allows the network interface to enter low-power states during periods of low link utilization, reducing power consumption while maintaining full performance when needed. E610 adapters provide EEE support through BASE-T PHY functionality. Due to this PHY-based implementation, EEE is supported only on 2.5Gb speeds and above. Signed-off-by: Yogesh Bhosale Signed-off-by: Krzysztof Galazka Authored-by: Yogesh Bhosale Approved by: kbowling (mentor) Tested by: Mateusz Moga MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D55304 --- sys/dev/ixgbe/if_ix.c | 34 ++++++++++++++++++++++++ sys/dev/ixgbe/ixgbe_e610.c | 48 ++++++++++++++++++++++++---------- sys/dev/ixgbe/ixgbe_type_e610.h | 57 +++++++++++++++++++++++++++++++---------- 3 files changed, 112 insertions(+), 27 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 1d36fd11f368..88cbeb418ec6 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1066,6 +1066,10 @@ ixgbe_if_attach_pre(if_ctx_t ctx) /* Ensure SW/FW semaphore is free */ ixgbe_init_swfw_semaphore(hw); + /* Enable EEE power saving */ + if (sc->feat_en & IXGBE_FEATURE_EEE) + hw->mac.ops.setup_eee(hw, true); + /* Set an initial default flow control value */ hw->fc.requested_mode = ixgbe_flow_control; @@ -4589,6 +4593,20 @@ ixgbe_if_update_admin_status(if_ctx_t ctx) "Link is up %s Full Duplex\n", ixgbe_link_speed_to_str(sc->link_speed)); sc->link_active = true; + + /* If link speed is <= 1Gbps and EEE is enabled, + * log info. + */ + if (sc->hw.mac.type == ixgbe_mac_E610 && + (sc->feat_en & IXGBE_FEATURE_EEE) && + sc->link_speed <= IXGBE_LINK_SPEED_1GB_FULL) { + device_printf(sc->dev, + "Energy Efficient Ethernet (EEE) feature " + "is not supported on link speeds equal to " + "or below 1Gbps. EEE is supported on " + "speeds above 1Gbps.\n"); + } + /* Update any Flow Control changes */ ixgbe_fc_enable(&sc->hw); /* Update DMA coalescing config */ @@ -5582,6 +5600,17 @@ ixgbe_sysctl_eee_state(SYSCTL_HANDLER_ARGS) if ((new_eee < 0) || (new_eee > 1)) return (EINVAL); + /* If link speed is <= 1Gbps and EEE is being enabled, log info */ + if (sc->hw.mac.type == ixgbe_mac_E610 && + new_eee && + sc->link_speed <= IXGBE_LINK_SPEED_1GB_FULL) { + device_printf(dev, + "Energy Efficient Ethernet (EEE) feature is not " + "supported on link speeds equal to or below 1Gbps. " + "EEE is supported on speeds above 1Gbps.\n"); + return (EINVAL); + } + retval = ixgbe_setup_eee(&sc->hw, new_eee); if (retval) { device_printf(dev, "Error in EEE setup: 0x%08X\n", retval); @@ -5645,6 +5674,8 @@ ixgbe_sysctl_tso_tcp_flags_mask(SYSCTL_HANDLER_ARGS) static void ixgbe_init_device_features(struct ixgbe_softc *sc) { + s32 error; + sc->feat_cap = IXGBE_FEATURE_NETMAP | IXGBE_FEATURE_RSS | IXGBE_FEATURE_MSI | @@ -5700,6 +5731,9 @@ ixgbe_init_device_features(struct ixgbe_softc *sc) case ixgbe_mac_E610: sc->feat_cap |= IXGBE_FEATURE_RECOVERY_MODE; sc->feat_cap |= IXGBE_FEATURE_DBG_DUMP; + error = ixgbe_get_caps(&sc->hw); + if (error == 0 && sc->hw.func_caps.common_cap.eee_support != 0) + sc->feat_cap |= IXGBE_FEATURE_EEE; break; default: break; diff --git a/sys/dev/ixgbe/ixgbe_e610.c b/sys/dev/ixgbe/ixgbe_e610.c index 18c4612446e0..b76d96814933 100644 --- a/sys/dev/ixgbe/ixgbe_e610.c +++ b/sys/dev/ixgbe/ixgbe_e610.c @@ -776,6 +776,10 @@ ixgbe_parse_common_caps(struct ixgbe_hw *hw, struct ixgbe_hw_common_caps *caps, DEBUGOUT2("%s: next_cluster_id_support = %d\n", prefix, caps->next_cluster_id_support); break; + case IXGBE_ACI_CAPS_EEE: + caps->eee_support = (u8)number; + DEBUGOUT2("%s: eee_support = %x\n", prefix, caps->eee_support); + break; default: /* Not one of the recognized common capabilities */ found = false; @@ -1332,6 +1336,7 @@ void ixgbe_copy_phy_caps_to_cfg(struct ixgbe_aci_cmd_get_phy_caps_data *caps, cfg->link_fec_opt = caps->link_fec_options; cfg->module_compliance_enforcement = caps->module_compliance_enforcement; + cfg->eee_entry_delay = caps->eee_entry_delay; } /** @@ -1351,10 +1356,12 @@ s32 ixgbe_aci_set_phy_cfg(struct ixgbe_hw *hw, struct ixgbe_aci_cmd_set_phy_cfg_data *cfg) { struct ixgbe_aci_desc desc; + bool use_1p40_buff; s32 status; if (!cfg) return IXGBE_ERR_PARAM; + use_1p40_buff = hw->func_caps.common_cap.eee_support != 0; /* Ensure that only valid bits of cfg->caps can be turned on. */ if (cfg->caps & ~IXGBE_ACI_PHY_ENA_VALID_MASK) { @@ -1364,8 +1371,18 @@ s32 ixgbe_aci_set_phy_cfg(struct ixgbe_hw *hw, ixgbe_fill_dflt_direct_cmd_desc(&desc, ixgbe_aci_opc_set_phy_cfg); desc.flags |= IXGBE_CPU_TO_LE16(IXGBE_ACI_FLAG_RD); - status = ixgbe_aci_send_cmd(hw, &desc, cfg, sizeof(*cfg)); + if (use_1p40_buff) { + status = ixgbe_aci_send_cmd(hw, &desc, cfg, sizeof(*cfg)); + } else { + struct ixgbe_aci_cmd_set_phy_cfg_data_pre_1_40 cfg_obsolete; + + memcpy(&cfg_obsolete, cfg, sizeof(cfg_obsolete)); + + status = ixgbe_aci_send_cmd(hw, &desc, &cfg_obsolete, + sizeof(cfg_obsolete)); + } + /* even if the old buffer is used no need to worry about conversion */ if (!status) hw->phy.curr_user_phy_cfg = *cfg; @@ -1599,6 +1616,7 @@ s32 ixgbe_aci_get_link_info(struct ixgbe_hw *hw, bool ena_lse, li->topo_media_conflict = link_data.topo_media_conflict; li->pacing = link_data.cfg & (IXGBE_ACI_CFG_PACING_M | IXGBE_ACI_CFG_PACING_TYPE_M); + li->eee_status = link_data.eee_status; /* update fc info */ tx_pause = !!(link_data.an_info & IXGBE_ACI_LINK_PAUSE_TX); @@ -3883,9 +3901,14 @@ s32 ixgbe_init_ops_E610(struct ixgbe_hw *hw) /* PHY */ phy->ops.init = ixgbe_init_phy_ops_E610; phy->ops.identify = ixgbe_identify_phy_E610; - phy->eee_speeds_supported = IXGBE_LINK_SPEED_10_FULL | - IXGBE_LINK_SPEED_100_FULL | - IXGBE_LINK_SPEED_1GB_FULL; + + if (hw->device_id == IXGBE_DEV_ID_E610_2_5G_T) + phy->eee_speeds_supported = IXGBE_LINK_SPEED_2_5GB_FULL; + else + phy->eee_speeds_supported = IXGBE_LINK_SPEED_2_5GB_FULL | + IXGBE_LINK_SPEED_5GB_FULL | + IXGBE_LINK_SPEED_10GB_FULL; + phy->eee_speeds_advertised = phy->eee_speeds_supported; /* Additional ops overrides for e610 to go here */ @@ -4513,19 +4536,18 @@ s32 ixgbe_setup_eee_E610(struct ixgbe_hw *hw, bool enable_eee) phy_cfg.caps |= IXGBE_ACI_PHY_ENA_LINK; phy_cfg.caps |= IXGBE_ACI_PHY_ENA_AUTO_LINK_UPDT; + /* setup only speeds which are defined for [0x0601/0x0600].eee_cap */ if (enable_eee) { - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_100BASE_TX) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_100_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_100BASE_TX; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_1000BASE_T) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_1GB_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_1000BASE_T; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_1000BASE_KX) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_1000BASE_KX; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_T) + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_2_5GB_FULL) + eee_cap |= IXGBE_ACI_PHY_EEE_EN_2_5GBASE_T; + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_5GB_FULL) + eee_cap |= IXGBE_ACI_PHY_EEE_EN_5GBASE_T; + if (hw->phy.eee_speeds_advertised & IXGBE_LINK_SPEED_10GB_FULL) eee_cap |= IXGBE_ACI_PHY_EEE_EN_10GBASE_T; - if (phy_caps.phy_type_low & IXGBE_PHY_TYPE_LOW_10GBASE_KR_CR1) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_10GBASE_KR; - if (phy_caps.phy_type_high & IXGBE_PHY_TYPE_HIGH_10BASE_T) - eee_cap |= IXGBE_ACI_PHY_EEE_EN_10BASE_T; } /* Set EEE capability for particular PHY types */ diff --git a/sys/dev/ixgbe/ixgbe_type_e610.h b/sys/dev/ixgbe/ixgbe_type_e610.h index e300030c3ba4..da46e503f660 100644 --- a/sys/dev/ixgbe/ixgbe_type_e610.h +++ b/sys/dev/ixgbe/ixgbe_type_e610.h @@ -721,6 +721,7 @@ struct ixgbe_aci_cmd_list_caps_elem { #define IXGBE_ACI_CAPS_EXT_TOPO_DEV_IMG3 0x0084 #define IXGBE_ACI_CAPS_OROM_RECOVERY_UPDATE 0x0090 #define IXGBE_ACI_CAPS_NEXT_CLUSTER_ID 0x0096 +#define IXGBE_ACI_CAPS_EEE 0x009B u8 major_ver; u8 minor_ver; /* Number of resources described by this capability */ @@ -836,10 +837,8 @@ struct ixgbe_aci_cmd_get_phy_caps_data { #define IXGBE_ACI_PHY_EEE_EN_100BASE_TX BIT(0) #define IXGBE_ACI_PHY_EEE_EN_1000BASE_T BIT(1) #define IXGBE_ACI_PHY_EEE_EN_10GBASE_T BIT(2) -#define IXGBE_ACI_PHY_EEE_EN_1000BASE_KX BIT(3) -#define IXGBE_ACI_PHY_EEE_EN_10GBASE_KR BIT(4) -#define IXGBE_ACI_PHY_EEE_EN_25GBASE_KR BIT(5) -#define IXGBE_ACI_PHY_EEE_EN_10BASE_T BIT(11) +#define IXGBE_ACI_PHY_EEE_EN_5GBASE_T BIT(11) +#define IXGBE_ACI_PHY_EEE_EN_2_5GBASE_T BIT(12) __le16 eeer_value; u8 phy_id_oui[4]; /* PHY/Module ID connected on the port */ u8 phy_fw_ver[8]; @@ -869,7 +868,9 @@ struct ixgbe_aci_cmd_get_phy_caps_data { #define IXGBE_ACI_MOD_TYPE_BYTE2_SFP_PLUS 0xA0 #define IXGBE_ACI_MOD_TYPE_BYTE2_QSFP_PLUS 0x86 u8 qualified_module_count; - u8 rsvd2[7]; /* Bytes 47:41 reserved */ + u8 rsvd2; + __le16 eee_entry_delay; + u8 rsvd3[4]; #define IXGBE_ACI_QUAL_MOD_COUNT_MAX 16 struct { u8 v_oui[3]; @@ -893,11 +894,38 @@ struct ixgbe_aci_cmd_set_phy_cfg { IXGBE_CHECK_PARAM_LEN(ixgbe_aci_cmd_set_phy_cfg); +/* Set PHY config obsolete command data structure (; Fri, 13 Mar 2026 12:16:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXNkr64gSz3QVs for ; Fri, 13 Mar 2026 12:16:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773404196; 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; bh=ybN67JFE+On0eQFVo2oPxgMaGsB4Z8MJAFLVkXb9j+c=; b=HBGX/0zFE4iIPFezjVqF8+2po25QdCANIPgEZp4VLd1shALwslNZxFj1O4IYHZLerDtD+T PBgaKpAqu6im6V+x8TxlsWw4ZMwWyqjPtVUg7srwbe37ueU6INr11nRRIEOO9VMlO2kM6B zOG/MAnf5YlFVndNEvQcH88nGm/KnVjt8YmPRRAMPzX7Vk8yyTQN2M8NxtsSydurkJCYjY iuT5rtEmUJF2ta9h0IcHF0zPTREwvifEo4xnm/20uhpofMu6o9OxYshKqNBQreYamNHjXc k5FUVIOAP6be9if9/z633lfMgat5p2Q9uOO2DNnJauAt0S+JwZy5kFe4JhbAGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773404196; a=rsa-sha256; cv=none; b=B3aJeDVd3Q2sRGjDiBGlY60mUkjoyDiIX+jemVEvhPpQpag15WxwFSIAyhrFu0JVax09N2 yAr9ra6RVdANBlQh63evfwHbd51092AXFIkZtSv167VhNI89FIypV485W+/IfkKvJVAJdv KQyoD9YU7J4Bffp0zdco/FtUdeAJx5PP9Y/brYGCaCLwp4jrVtjuoro+PeuE0LHKUq4vig X18Bbmikrhzym+1/V+XIGt9RdI6FdbZdCEmGX+4Pj2WFFmyiWkP/KTKMchXC7iG++7NUoi P7UxgjjWIgJqLphIOaDNS75TKu1vdabpWjT5gghC4q9KLSrRbgjajW6bIUoahg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773404196; 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; bh=ybN67JFE+On0eQFVo2oPxgMaGsB4Z8MJAFLVkXb9j+c=; b=c5had4ihL4RYdcHyNtGy6sgnBA5i+YSZcpeaXRgJLDtpEc18QhuBaN/eOSUiXX5aTOEaM9 KXMOjHbXkMsGh6YoxrftPBHeOdYY9qzg87Ni53RwRVXTL2XCj9t/NLVtHvMN1o95FGi7nm M1WDhzdiC6GTJeNnNbZrjWRYJFLLKH5rXuukKVWyzvVM7Pfln0/eTjZkR0iaxKKNYFtNZI +IVbJO8OvYrCe0FiF7b4IL0rk2Q980JnpNQhb2jlCxItZSABO8l07y2oiSMsmXNejIRWeM lr7PmA6hepGHCVGYSST2MHEgiGHUlvfkbptPnCW0n0UOOCKawDuleqBH3JXl1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXNkr5LmQzXNt for ; Fri, 13 Mar 2026 12:16:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 203eb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 12:16:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Bartosz Sobczak From: Krzysztof Galazka Subject: git: 5b7aa6c7bc9d - main - irdma(4): update irdma to version 1.3.56-k List-Id: Commit messages for the main 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: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b7aa6c7bc9db19e8bd34a5b7892fb5df2a3068b Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 12:16:31 +0000 Message-Id: <69b4001f.203eb.12b478aa@gitrepo.freebsd.org> The branch main has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=5b7aa6c7bc9db19e8bd34a5b7892fb5df2a3068b commit 5b7aa6c7bc9db19e8bd34a5b7892fb5df2a3068b Author: Bartosz Sobczak AuthorDate: 2026-03-13 11:56:25 +0000 Commit: Krzysztof Galazka CommitDate: 2026-03-13 12:00:55 +0000 irdma(4): update irdma to version 1.3.56-k Update Intel irdma driver to version 1.3.56-k Notable changes: - adding E830 support - adding E835 support Signed-off-by: Sobczak, Bartosz Reviewed by: Andrew Zhu Tested by: Mateusz Moga MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D55479 --- contrib/ofed/libirdma/ice_devids.h | 26 +- contrib/ofed/libirdma/irdma.h | 3 +- contrib/ofed/libirdma/irdma_defs.h | 100 +++---- contrib/ofed/libirdma/irdma_uk.c | 252 ++++++++++-------- contrib/ofed/libirdma/irdma_umain.c | 18 +- contrib/ofed/libirdma/irdma_user.h | 20 +- contrib/ofed/libirdma/irdma_uverbs.c | 110 ++++---- sys/dev/irdma/fbsd_kcompat.c | 160 +++++++++++- sys/dev/irdma/fbsd_kcompat.h | 19 +- sys/dev/irdma/ice_devids.h | 26 +- sys/dev/irdma/icrdma.c | 32 ++- sys/dev/irdma/icrdma_hw.c | 59 +++-- sys/dev/irdma/icrdma_hw.h | 17 +- sys/dev/irdma/irdma.h | 4 +- sys/dev/irdma/irdma_cm.c | 493 +++++++++++++++++++++++++---------- sys/dev/irdma/irdma_cm.h | 3 +- sys/dev/irdma/irdma_ctrl.c | 273 +++++++++---------- sys/dev/irdma/irdma_defs.h | 136 +++++----- sys/dev/irdma/irdma_hmc.c | 12 +- sys/dev/irdma/irdma_hw.c | 151 ++++++----- sys/dev/irdma/irdma_kcompat.c | 301 ++++++++++++++++----- sys/dev/irdma/irdma_main.h | 41 ++- sys/dev/irdma/irdma_pble.c | 10 +- sys/dev/irdma/irdma_protos.h | 7 +- sys/dev/irdma/irdma_puda.c | 25 +- sys/dev/irdma/irdma_puda.h | 14 +- sys/dev/irdma/irdma_type.h | 51 ++-- sys/dev/irdma/irdma_uda.h | 2 + sys/dev/irdma/irdma_uda_d.h | 4 +- sys/dev/irdma/irdma_uk.c | 250 ++++++++++-------- sys/dev/irdma/irdma_user.h | 26 +- sys/dev/irdma/irdma_utils.c | 376 +++++++++++++++++--------- sys/dev/irdma/irdma_verbs.c | 245 +++++++++-------- sys/dev/irdma/irdma_verbs.h | 25 +- sys/dev/irdma/irdma_ws.c | 157 ++++++----- sys/dev/irdma/osdep.h | 9 +- sys/modules/irdma/Makefile | 2 +- 37 files changed, 2225 insertions(+), 1234 deletions(-) diff --git a/contrib/ofed/libirdma/ice_devids.h b/contrib/ofed/libirdma/ice_devids.h index 57a7f2f7c2af..0cf7aa6aee22 100644 --- a/contrib/ofed/libirdma/ice_devids.h +++ b/contrib/ofed/libirdma/ice_devids.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2019 - 2020 Intel Corporation + * Copyright (c) 2019 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -88,4 +88,28 @@ #define ICE_DEV_ID_E822L_10G_BASE_T 0x1899 /* Intel(R) Ethernet Connection E822-L 1GbE */ #define ICE_DEV_ID_E822L_SGMII 0x189A +/* Intel(R) Ethernet Controller E830-CC for backplane */ +#define ICE_DEV_ID_E830_BACKPLANE 0x12D1 +/* Intel(R) Ethernet Controller E830-CC for QSFP */ +#define ICE_DEV_ID_E830_QSFP56 0x12D2 +/* Intel(R) Ethernet Controller E830-CC for SFP */ +#define ICE_DEV_ID_E830_SFP 0x12D3 +/* Intel(R) Ethernet Controller E830-CC for SFP-DD */ +#define ICE_DEV_ID_E830_SFP_DD 0x12D4 +/* Intel(R) Ethernet Controller E830-C for backplane */ +#define ICE_DEV_ID_E830C_BACKPLANE 0x12D5 +/* Intel(R) Ethernet Controller E830-XXV for backplane */ +#define ICE_DEV_ID_E830_XXV_BACKPLANE 0x12DC +/* Intel(R) Ethernet Controller E830-C for QSFP */ +#define ICE_DEV_ID_E830C_QSFP 0x12D8 +/* Intel(R) Ethernet Controller E830-XXV for QSFP */ +#define ICE_DEV_ID_E830_XXV_QSFP 0x12DD +/* Intel(R) Ethernet Controller E830-C for SFP */ +#define ICE_DEV_ID_E830C_SFP 0x12DA +/* Intel(R) Ethernet Controller E830-XXV for SFP */ +#define ICE_DEV_ID_E830_XXV_SFP 0x12DE +/* Intel(R) Ethernet Controller E835-XXV for SFP */ +#define ICE_DEV_ID_E835_XXV_SFP 0x124A +/* Intel(R) Ethernet Controller E835-CC for QSFP */ +#define ICE_DEV_ID_E835_QSFP 0x1249 #endif /* ICE_DEVIDS_H */ diff --git a/contrib/ofed/libirdma/irdma.h b/contrib/ofed/libirdma/irdma.h index f4a5a4796f82..6b85ff1a7105 100644 --- a/contrib/ofed/libirdma/irdma.h +++ b/contrib/ofed/libirdma/irdma.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2017 - 2022 Intel Corporation + * Copyright (c) 2017 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -57,6 +57,7 @@ struct irdma_uk_attrs { u32 max_hw_wq_quanta; u32 min_hw_cq_size; u32 max_hw_cq_size; + u16 max_hw_push_len; u16 max_hw_sq_chunk; u16 min_hw_wq_size; u8 hw_rev; diff --git a/contrib/ofed/libirdma/irdma_defs.h b/contrib/ofed/libirdma/irdma_defs.h index 39d4e7772c31..7deaf762c204 100644 --- a/contrib/ofed/libirdma/irdma_defs.h +++ b/contrib/ofed/libirdma/irdma_defs.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2023 Intel Corporation + * Copyright (c) 2015 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -63,6 +63,27 @@ #define IRDMA_BYTE_200 200 #define IRDMA_BYTE_208 208 #define IRDMA_BYTE_216 216 +#define IRDMA_BYTE_224 224 +#define IRDMA_BYTE_232 232 +#define IRDMA_BYTE_240 240 +#define IRDMA_BYTE_248 248 +#define IRDMA_BYTE_256 256 +#define IRDMA_BYTE_264 264 +#define IRDMA_BYTE_272 272 +#define IRDMA_BYTE_280 280 +#define IRDMA_BYTE_288 288 +#define IRDMA_BYTE_296 296 +#define IRDMA_BYTE_304 304 +#define IRDMA_BYTE_312 312 +#define IRDMA_BYTE_320 320 +#define IRDMA_BYTE_328 328 +#define IRDMA_BYTE_336 336 +#define IRDMA_BYTE_344 344 +#define IRDMA_BYTE_352 352 +#define IRDMA_BYTE_360 360 +#define IRDMA_BYTE_368 368 +#define IRDMA_BYTE_376 376 +#define IRDMA_BYTE_384 384 #define IRDMA_QP_TYPE_IWARP 1 #define IRDMA_QP_TYPE_UDA 2 @@ -81,6 +102,8 @@ #define IRDMA_MAX_RQ_WQE_SHIFT_GEN1 2 #define IRDMA_MAX_RQ_WQE_SHIFT_GEN2 3 +#define IRDMA_DEFAULT_MAX_PUSH_LEN 8192 + #define IRDMA_SQ_RSVD 258 #define IRDMA_RQ_RSVD 1 @@ -241,7 +264,7 @@ #define IRDMAQPSQ_DESTQPN_S 32 #define IRDMAQPSQ_DESTQPN GENMASK_ULL(55, 32) #define IRDMAQPSQ_AHID_S 0 -#define IRDMAQPSQ_AHID GENMASK_ULL(16, 0) +#define IRDMAQPSQ_AHID GENMASK_ULL(24, 0) #define IRDMAQPSQ_INLINEDATAFLAG_S 57 #define IRDMAQPSQ_INLINEDATAFLAG BIT_ULL(57) @@ -338,9 +361,9 @@ #define IRDMA_RING_MOVE_HEAD(_ring, _retcode) \ { \ u32 size; \ - size = (_ring).size; \ + size = IRDMA_RING_SIZE(_ring); \ if (!IRDMA_RING_FULL_ERR(_ring)) { \ - (_ring).head = ((_ring).head + 1) % size; \ + IRDMA_RING_CURRENT_HEAD(_ring) = (IRDMA_RING_CURRENT_HEAD(_ring) + 1) % size; \ (_retcode) = 0; \ } else { \ (_retcode) = ENOSPC; \ @@ -349,79 +372,40 @@ #define IRDMA_RING_MOVE_HEAD_BY_COUNT(_ring, _count, _retcode) \ { \ u32 size; \ - size = (_ring).size; \ + size = IRDMA_RING_SIZE(_ring); \ if ((IRDMA_RING_USED_QUANTA(_ring) + (_count)) < size) { \ - (_ring).head = ((_ring).head + (_count)) % size; \ - (_retcode) = 0; \ - } else { \ - (_retcode) = ENOSPC; \ - } \ - } -#define IRDMA_SQ_RING_MOVE_HEAD(_ring, _retcode) \ - { \ - u32 size; \ - size = (_ring).size; \ - if (!IRDMA_SQ_RING_FULL_ERR(_ring)) { \ - (_ring).head = ((_ring).head + 1) % size; \ - (_retcode) = 0; \ - } else { \ - (_retcode) = ENOSPC; \ - } \ - } -#define IRDMA_SQ_RING_MOVE_HEAD_BY_COUNT(_ring, _count, _retcode) \ - { \ - u32 size; \ - size = (_ring).size; \ - if ((IRDMA_RING_USED_QUANTA(_ring) + (_count)) < (size - 256)) { \ - (_ring).head = ((_ring).head + (_count)) % size; \ + IRDMA_RING_CURRENT_HEAD(_ring) = (IRDMA_RING_CURRENT_HEAD(_ring) + (_count)) % size; \ (_retcode) = 0; \ } else { \ (_retcode) = ENOSPC; \ } \ } -#define IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(_ring, _count) \ - (_ring).head = ((_ring).head + (_count)) % (_ring).size -#define IRDMA_RING_MOVE_TAIL(_ring) \ - (_ring).tail = ((_ring).tail + 1) % (_ring).size +#define IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(_ring, _count) \ + (IRDMA_RING_CURRENT_HEAD(_ring) = (IRDMA_RING_CURRENT_HEAD(_ring) + (_count)) % IRDMA_RING_SIZE(_ring)) #define IRDMA_RING_MOVE_HEAD_NOCHECK(_ring) \ - (_ring).head = ((_ring).head + 1) % (_ring).size + IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(_ring, 1) #define IRDMA_RING_MOVE_TAIL_BY_COUNT(_ring, _count) \ - (_ring).tail = ((_ring).tail + (_count)) % (_ring).size + IRDMA_RING_CURRENT_TAIL(_ring) = (IRDMA_RING_CURRENT_TAIL(_ring) + (_count)) % IRDMA_RING_SIZE(_ring) + +#define IRDMA_RING_MOVE_TAIL(_ring) \ + IRDMA_RING_MOVE_TAIL_BY_COUNT(_ring, 1) #define IRDMA_RING_SET_TAIL(_ring, _pos) \ - (_ring).tail = (_pos) % (_ring).size + IRDMA_RING_CURRENT_TAIL(_ring) = (_pos) % IRDMA_RING_SIZE(_ring) #define IRDMA_RING_FULL_ERR(_ring) \ ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 1)) \ - ) - -#define IRDMA_ERR_RING_FULL2(_ring) \ - ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 2)) \ - ) - -#define IRDMA_ERR_RING_FULL3(_ring) \ - ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 3)) \ + (IRDMA_RING_USED_QUANTA(_ring) == (IRDMA_RING_SIZE(_ring) - 1)) \ ) #define IRDMA_SQ_RING_FULL_ERR(_ring) \ ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 257)) \ + (IRDMA_RING_USED_QUANTA(_ring) == (IRDMA_RING_SIZE(_ring) - 257)) \ ) -#define IRDMA_ERR_SQ_RING_FULL2(_ring) \ - ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 258)) \ - ) -#define IRDMA_ERR_SQ_RING_FULL3(_ring) \ - ( \ - (IRDMA_RING_USED_QUANTA(_ring) == ((_ring).size - 259)) \ - ) #define IRDMA_RING_MORE_WORK(_ring) \ ( \ (IRDMA_RING_USED_QUANTA(_ring) != 0) \ @@ -429,17 +413,17 @@ #define IRDMA_RING_USED_QUANTA(_ring) \ ( \ - (((_ring).head + (_ring).size - (_ring).tail) % (_ring).size) \ + ((IRDMA_RING_CURRENT_HEAD(_ring) + IRDMA_RING_SIZE(_ring) - IRDMA_RING_CURRENT_TAIL(_ring)) % IRDMA_RING_SIZE(_ring)) \ ) #define IRDMA_RING_FREE_QUANTA(_ring) \ ( \ - ((_ring).size - IRDMA_RING_USED_QUANTA(_ring) - 1) \ + (IRDMA_RING_SIZE(_ring) - IRDMA_RING_USED_QUANTA(_ring) - 1) \ ) #define IRDMA_SQ_RING_FREE_QUANTA(_ring) \ ( \ - ((_ring).size - IRDMA_RING_USED_QUANTA(_ring) - 257) \ + (IRDMA_RING_SIZE(_ring) - IRDMA_RING_USED_QUANTA(_ring) - 257) \ ) #define IRDMA_ATOMIC_RING_MOVE_HEAD(_ring, index, _retcode) \ diff --git a/contrib/ofed/libirdma/irdma_uk.c b/contrib/ofed/libirdma/irdma_uk.c index 115c5f0a27f0..c42d0f3e9673 100644 --- a/contrib/ofed/libirdma/irdma_uk.c +++ b/contrib/ofed/libirdma/irdma_uk.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2023 Intel Corporation + * Copyright (c) 2015 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -133,16 +133,18 @@ irdma_nop_1(struct irdma_qp_uk *qp) void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx) { - __le64 *wqe; + struct irdma_qp_quanta *sq; u32 wqe_idx; if (!(qp_wqe_idx & 0x7F)) { wqe_idx = (qp_wqe_idx + 128) % qp->sq_ring.size; - wqe = qp->sq_base[wqe_idx].elem; + sq = qp->sq_base + wqe_idx; if (wqe_idx) - memset(wqe, qp->swqe_polarity ? 0 : 0xFF, 0x1000); + memset(sq, qp->swqe_polarity ? 0 : 0xFF, + 128 * sizeof(*sq)); else - memset(wqe, qp->swqe_polarity ? 0xFF : 0, 0x1000); + memset(sq, qp->swqe_polarity ? 0xFF : 0, + 128 * sizeof(*sq)); } } @@ -200,22 +202,65 @@ irdma_qp_ring_push_db(struct irdma_qp_uk *qp, u32 wqe_idx) qp->push_dropped = false; } +/** + * irdma_qp_push_wqe - setup push wqe and ring db + * @qp: hw qp ptr + * @wqe: wqe ptr + * @quanta: numbers of quanta in wqe + * @wqe_idx: wqe index + * @push_wqe: if to use push for the wqe + */ void irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 * wqe, u16 quanta, - u32 wqe_idx, bool post_sq) + u32 wqe_idx, bool push_wqe) { __le64 *push; - if (IRDMA_RING_CURRENT_HEAD(qp->initial_ring) != - IRDMA_RING_CURRENT_TAIL(qp->sq_ring) && - !qp->push_mode) { - irdma_uk_qp_post_wr(qp); - } else { + if (push_wqe) { push = (__le64 *) ((uintptr_t)qp->push_wqe + (wqe_idx & 0x7) * 0x20); irdma_memcpy(push, wqe, quanta * IRDMA_QP_WQE_MIN_SIZE); irdma_qp_ring_push_db(qp, wqe_idx); + qp->last_push_db = true; + } else if (qp->last_push_db) { + qp->last_push_db = false; + db_wr32(qp->qp_id, qp->wqe_alloc_db); + } else { + irdma_uk_qp_post_wr(qp); + } +} + +/** + * irdma_push_ring_free - check if sq ring free to pust push wqe + * @qp: hw qp ptr + */ +static inline bool +irdma_push_ring_free(struct irdma_qp_uk *qp) +{ + u32 head, tail; + + head = IRDMA_RING_CURRENT_HEAD(qp->initial_ring); + tail = IRDMA_RING_CURRENT_TAIL(qp->sq_ring); + + if (head == tail || head == (tail + 1)) + return true; + + return false; +} + +/** + * irdma_enable_push_wqe - depending on sq ring and total size + * @qp: hw qp ptr + * @total_size: total data size + */ +static inline bool +irdma_enable_push_wqe(struct irdma_qp_uk *qp, u32 total_size) +{ + if (irdma_push_ring_free(qp) && + total_size <= qp->uk_attrs->max_hw_push_len) { + return true; } + return false; } /** @@ -234,7 +279,8 @@ irdma_qp_get_next_send_wqe(struct irdma_qp_uk *qp, u32 *wqe_idx, __le64 *wqe; __le64 *wqe_0 = NULL; u32 nop_wqe_idx; - u16 avail_quanta, wqe_quanta = *quanta; + u16 wqe_quanta = *quanta; + u16 avail_quanta; u16 i; avail_quanta = qp->uk_attrs->max_hw_sq_chunk - @@ -330,7 +376,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, bool read_fence = false; u16 quanta; - info->push_wqe = qp->push_db ? true : false; + info->push_wqe = false; op_info = &info->op.rdma_write; if (op_info->num_lo_sges > qp->max_sq_frag_cnt) @@ -350,11 +396,13 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, if (ret_code) return ret_code; + if (qp->push_db) + info->push_wqe = irdma_enable_push_wqe(qp, total_size); + wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, &quanta, total_size, info); if (!wqe) return ENOSPC; - qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; set_64bit_val(wqe, IRDMA_BYTE_16, FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); @@ -399,8 +447,8 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, udma_to_device_barrier(); /* make sure WQE is populated before valid bit is set */ set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -429,7 +477,7 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, u16 quanta; u64 hdr; - info->push_wqe = qp->push_db ? true : false; + info->push_wqe &= qp->push_db ? true : false; op_info = &info->op.rdma_read; if (qp->max_sq_frag_cnt < op_info->num_lo_sges) @@ -451,7 +499,6 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, qp->ord_cnt = 0; } - qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; addl_frag_cnt = op_info->num_lo_sges > 1 ? (op_info->num_lo_sges - 1) : 0; local_fence |= info->local_fence; @@ -490,8 +537,8 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, udma_to_device_barrier(); /* make sure WQE is populated before valid bit is set */ set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -517,7 +564,7 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, bool read_fence = false; u16 quanta; - info->push_wqe = qp->push_db ? true : false; + info->push_wqe = false; op_info = &info->op.send; if (qp->max_sq_frag_cnt < op_info->num_sges) @@ -534,6 +581,9 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, if (ret_code) return ret_code; + if (qp->push_db) + info->push_wqe = irdma_enable_push_wqe(qp, total_size); + wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, &quanta, total_size, info); if (!wqe) return ENOSPC; @@ -587,8 +637,8 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, udma_to_device_barrier(); /* make sure WQE is populated before valid bit is set */ set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -780,11 +830,11 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, return EINVAL; quanta = qp->wqe_ops.iw_inline_data_size_to_quanta(total_size); + wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, &quanta, total_size, info); if (!wqe) return ENOSPC; - qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; read_fence |= info->read_fence; set_64bit_val(wqe, IRDMA_BYTE_16, FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); @@ -812,8 +862,8 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -886,8 +936,8 @@ irdma_uk_inline_send(struct irdma_qp_uk *qp, set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -937,8 +987,8 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -989,8 +1039,8 @@ irdma_uk_mw_bind(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, set_64bit_val(wqe, IRDMA_BYTE_24, hdr); - if (info->push_wqe) - irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, post_sq); + if (qp->push_db) + irdma_qp_push_wqe(qp, wqe, quanta, wqe_idx, info->push_wqe); else if (post_sq) irdma_uk_qp_post_wr(qp); @@ -1226,26 +1276,25 @@ irdma_check_rq_cqe(struct irdma_qp_uk *qp, u32 *array_idx) } /** - * irdma_skip_duplicate_flush_cmpl - check last cmpl and update wqe if needed - * - * @ring: sq/rq ring - * @flush_seen: information if flush for specific ring was already seen - * @comp_status: completion status - * @wqe_idx: new value of WQE index returned if there is more work on ring + * irdma_uk_cq_empty - Check if CQ is empty + * @cq: hw cq */ -static inline int -irdma_skip_duplicate_flush_cmpl(struct irdma_ring ring, u8 flush_seen, - enum irdma_cmpl_status comp_status, - u32 *wqe_idx) +bool +irdma_uk_cq_empty(struct irdma_cq_uk *cq) { - if (flush_seen) { - if (IRDMA_RING_MORE_WORK(ring)) - *wqe_idx = ring.tail; - else - return ENOENT; - } + __le64 *cqe; + u8 polarity; + u64 qword3; - return 0; + if (cq->avoid_mem_cflct) + cqe = IRDMA_GET_CURRENT_EXTENDED_CQ_ELEM(cq); + else + cqe = IRDMA_GET_CURRENT_CQ_ELEM(cq); + + get_64bit_val(cqe, 24, &qword3); + polarity = (u8)FIELD_GET(IRDMA_CQ_VALID, qword3); + + return polarity != cq->polarity; } /** @@ -1338,6 +1387,10 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, info->ipv4 = (bool)FIELD_GET(IRDMACQ_IPV4, qword3); get_64bit_val(cqe, IRDMA_BYTE_8, &comp_ctx); qp = (struct irdma_qp_uk *)(irdma_uintptr) comp_ctx; + if (!qp || qp->destroy_pending) { + ret_code = EFAULT; + goto exit; + } if (info->error) { info->major_err = FIELD_GET(IRDMA_CQ_MAJERR, qword3); info->minor_err = FIELD_GET(IRDMA_CQ_MINERR, qword3); @@ -1367,10 +1420,6 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, info->ud_src_qpn = (u32)FIELD_GET(IRDMACQ_UDSRCQPN, qword2); info->solicited_event = (bool)FIELD_GET(IRDMACQ_SOEVENT, qword3); - if (!qp || qp->destroy_pending) { - ret_code = EFAULT; - goto exit; - } wqe_idx = (u32)FIELD_GET(IRDMA_CQ_WQEIDX, qword3); info->qp_handle = (irdma_qp_handle) (irdma_uintptr) qp; info->op_type = (u8)FIELD_GET(IRDMACQ_OP, qword3); @@ -1378,51 +1427,44 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, if (info->q_type == IRDMA_CQE_QTYPE_RQ) { u32 array_idx; - ret_code = irdma_skip_duplicate_flush_cmpl(qp->rq_ring, - qp->rq_flush_seen, - info->comp_status, - &wqe_idx); - if (ret_code != 0) - goto exit; - array_idx = wqe_idx / qp->rq_wqe_size_multiplier; + info->bytes_xfered = (u32)FIELD_GET(IRDMACQ_PAYLDLEN, qword0); + info->signaled = 1; + + if (qword3 & IRDMACQ_STAG) { + info->stag_invalid_set = true; + info->inv_stag = (u32)FIELD_GET(IRDMACQ_INVSTAG, qword2); + } else { + info->stag_invalid_set = false; + } if (info->comp_status == IRDMA_COMPL_STATUS_FLUSHED || info->comp_status == IRDMA_COMPL_STATUS_UNKNOWN) { + ret_code = pthread_spin_lock(qp->lock); + if (ret_code) + return ret_code; if (!IRDMA_RING_MORE_WORK(qp->rq_ring)) { ret_code = ENOENT; + pthread_spin_unlock(qp->lock); goto exit; } info->wr_id = qp->rq_wrid_array[qp->rq_ring.tail]; - info->signaled = 1; - array_idx = qp->rq_ring.tail; + IRDMA_RING_SET_TAIL(qp->rq_ring, qp->rq_ring.tail + 1); + if (!IRDMA_RING_MORE_WORK(qp->rq_ring)) + qp->rq_flush_complete = true; + else + move_cq_head = false; + pthread_spin_unlock(qp->lock); } else { info->wr_id = qp->rq_wrid_array[array_idx]; - info->signaled = 1; if (irdma_check_rq_cqe(qp, &array_idx)) { info->wr_id = qp->rq_wrid_array[array_idx]; info->comp_status = IRDMA_COMPL_STATUS_UNKNOWN; IRDMA_RING_SET_TAIL(qp->rq_ring, array_idx + 1); return 0; } - } - - info->bytes_xfered = (u32)FIELD_GET(IRDMACQ_PAYLDLEN, qword0); - - if (qword3 & IRDMACQ_STAG) { - info->stag_invalid_set = true; - info->inv_stag = (u32)FIELD_GET(IRDMACQ_INVSTAG, qword2); - } else { - info->stag_invalid_set = false; - } - IRDMA_RING_SET_TAIL(qp->rq_ring, array_idx + 1); - if (info->comp_status == IRDMA_COMPL_STATUS_FLUSHED) { - qp->rq_flush_seen = true; - if (!IRDMA_RING_MORE_WORK(qp->rq_ring)) - qp->rq_flush_complete = true; - else - move_cq_head = false; + IRDMA_RING_SET_TAIL(qp->rq_ring, array_idx + 1); } pring = &qp->rq_ring; } else { /* q_type is IRDMA_CQE_QTYPE_SQ */ @@ -1444,12 +1486,6 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, qp->push_mode = false; qp->push_dropped = true; } - ret_code = irdma_skip_duplicate_flush_cmpl(qp->sq_ring, - qp->sq_flush_seen, - info->comp_status, - &wqe_idx); - if (ret_code != 0) - goto exit; if (info->comp_status != IRDMA_COMPL_STATUS_FLUSHED) { info->wr_id = qp->sq_wrtrk_array[wqe_idx].wrid; info->signaled = qp->sq_wrtrk_array[wqe_idx].signaled; @@ -1459,10 +1495,9 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, IRDMA_RING_SET_TAIL(qp->sq_ring, wqe_idx + qp->sq_wrtrk_array[wqe_idx].quanta); } else { - if (pthread_spin_lock(qp->lock)) { - ret_code = ENOENT; - goto exit; - } + ret_code = pthread_spin_lock(qp->lock); + if (ret_code) + return ret_code; if (!IRDMA_RING_MORE_WORK(qp->sq_ring)) { pthread_spin_unlock(qp->lock); ret_code = ENOENT; @@ -1493,7 +1528,6 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, if (info->op_type == IRDMA_OP_TYPE_BIND_MW && info->minor_err == FLUSH_PROT_ERR) info->minor_err = FLUSH_MW_BIND_ERR; - qp->sq_flush_seen = true; if (!IRDMA_RING_MORE_WORK(qp->sq_ring)) qp->sq_flush_complete = true; pthread_spin_unlock(qp->lock); @@ -1508,6 +1542,7 @@ exit: if (pring && IRDMA_RING_MORE_WORK(*pring)) move_cq_head = false; } + if (move_cq_head) { IRDMA_RING_MOVE_HEAD_NOCHECK(cq->cq_ring); if (!IRDMA_RING_CURRENT_HEAD(cq->cq_ring)) @@ -1522,8 +1557,9 @@ exit: IRDMA_RING_MOVE_TAIL(cq->cq_ring); if (!cq->avoid_mem_cflct && ext_valid) IRDMA_RING_MOVE_TAIL(cq->cq_ring); - set_64bit_val(cq->shadow_area, IRDMA_BYTE_0, - IRDMA_RING_CURRENT_HEAD(cq->cq_ring)); + if (IRDMA_RING_CURRENT_HEAD(cq->cq_ring) & 0x3F || irdma_uk_cq_empty(cq)) + set_64bit_val(cq->shadow_area, IRDMA_BYTE_0, + IRDMA_RING_CURRENT_HEAD(cq->cq_ring)); } else { qword3 &= ~IRDMA_CQ_WQEIDX; qword3 |= FIELD_PREP(IRDMA_CQ_WQEIDX, pring->tail); @@ -1537,9 +1573,7 @@ exit: * irdma_round_up_wq - return round up qp wq depth * @wqdepth: wq depth in quanta to round up */ -static int -irdma_round_up_wq(u32 wqdepth) -{ +static u64 irdma_round_up_wq(u64 wqdepth) { int scount = 1; for (wqdepth--; scount <= 16; scount *= 2) @@ -1588,15 +1622,16 @@ irdma_get_wqe_shift(struct irdma_uk_attrs *uk_attrs, u32 sge, int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *sqdepth) { - u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + u32 min_hw_quanta = (u32)uk_attrs->min_hw_wq_size << shift; + u64 hw_quanta = + irdma_round_up_wq(((u64)sq_size << shift) + IRDMA_SQ_RSVD); - *sqdepth = irdma_round_up_wq((sq_size << shift) + IRDMA_SQ_RSVD); - - if (*sqdepth < min_size) - *sqdepth = min_size; - else if (*sqdepth > uk_attrs->max_hw_wq_quanta) + if (hw_quanta < min_hw_quanta) + hw_quanta = min_hw_quanta; + else if (hw_quanta > uk_attrs->max_hw_wq_quanta) return EINVAL; + *sqdepth = hw_quanta; return 0; } @@ -1607,15 +1642,16 @@ irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *s int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u32 *rqdepth) { - u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; - - *rqdepth = irdma_round_up_wq((rq_size << shift) + IRDMA_RQ_RSVD); + u32 min_hw_quanta = (u32)uk_attrs->min_hw_wq_size << shift; + u64 hw_quanta = + irdma_round_up_wq(((u64)rq_size << shift) + IRDMA_RQ_RSVD); - if (*rqdepth < min_size) - *rqdepth = min_size; - else if (*rqdepth > uk_attrs->max_hw_rq_quanta) + if (hw_quanta < min_hw_quanta) + hw_quanta = min_hw_quanta; + else if (hw_quanta > uk_attrs->max_hw_rq_quanta) return EINVAL; + *rqdepth = hw_quanta; return 0; } diff --git a/contrib/ofed/libirdma/irdma_umain.c b/contrib/ofed/libirdma/irdma_umain.c index e8d27c31a0dc..63b082a5aa2b 100644 --- a/contrib/ofed/libirdma/irdma_umain.c +++ b/contrib/ofed/libirdma/irdma_umain.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2021 - 2022 Intel Corporation + * Copyright (c) 2021 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -48,7 +48,7 @@ /** * Driver version */ -char libirdma_version[] = "1.2.36-k"; +char libirdma_version[] = "1.3.56-k"; unsigned int irdma_dbg; @@ -87,6 +87,18 @@ static const struct hca_info hca_table[] = { INTEL_HCA(ICE_DEV_ID_E822L_SFP), INTEL_HCA(ICE_DEV_ID_E822L_10G_BASE_T), INTEL_HCA(ICE_DEV_ID_E822L_SGMII), + INTEL_HCA(ICE_DEV_ID_E830_BACKPLANE), + INTEL_HCA(ICE_DEV_ID_E830_QSFP56), + INTEL_HCA(ICE_DEV_ID_E830_SFP), + INTEL_HCA(ICE_DEV_ID_E830_SFP_DD), + INTEL_HCA(ICE_DEV_ID_E830C_BACKPLANE), + INTEL_HCA(ICE_DEV_ID_E830_XXV_BACKPLANE), + INTEL_HCA(ICE_DEV_ID_E830C_QSFP), + INTEL_HCA(ICE_DEV_ID_E830_XXV_QSFP), + INTEL_HCA(ICE_DEV_ID_E830C_SFP), + INTEL_HCA(ICE_DEV_ID_E830_XXV_SFP), + INTEL_HCA(ICE_DEV_ID_E835_XXV_SFP), + INTEL_HCA(ICE_DEV_ID_E835_QSFP), }; static struct ibv_context_ops irdma_ctx_ops = { @@ -239,7 +251,7 @@ irdma_driver_init(const char *uverbs_sys_path, hca_size = sizeof(hca_table) / sizeof(struct hca_info); while (i < hca_size && !device_found) { - if (device_id != hca_table[i].device) + if (device_id == hca_table[i].device) device_found = 1; ++i; } diff --git a/contrib/ofed/libirdma/irdma_user.h b/contrib/ofed/libirdma/irdma_user.h index aeb6aa9feebd..c9f707380c59 100644 --- a/contrib/ofed/libirdma/irdma_user.h +++ b/contrib/ofed/libirdma/irdma_user.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2023 Intel Corporation + * Copyright (c) 2015 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -94,12 +94,10 @@ enum irdma_device_caps_const { IRDMA_MIN_IW_QP_ID = 0, IRDMA_QUERY_FPM_BUF_SIZE = 176, IRDMA_COMMIT_FPM_BUF_SIZE = 176, - IRDMA_MAX_IW_QP_ID = 262143, IRDMA_MIN_CEQID = 0, IRDMA_MAX_CEQID = 1023, IRDMA_CEQ_MAX_COUNT = IRDMA_MAX_CEQID + 1, IRDMA_MIN_CQID = 0, - IRDMA_MAX_CQID = 524287, IRDMA_MIN_AEQ_ENTRIES = 1, IRDMA_MAX_AEQ_ENTRIES = 524287, IRDMA_MIN_CEQ_ENTRIES = 1, @@ -188,7 +186,7 @@ struct irdma_cq_uk_init_info; struct irdma_ring { volatile u32 head; - volatile u32 tail; /* effective tail */ + volatile u32 tail; u32 size; }; @@ -327,6 +325,7 @@ struct irdma_wqe_uk_ops { struct irdma_bind_window *op_info); }; +bool irdma_uk_cq_empty(struct irdma_cq_uk *cq); int irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, struct irdma_cq_poll_info *info); void irdma_uk_cq_request_notification(struct irdma_cq_uk *cq, @@ -364,6 +363,8 @@ struct irdma_qp_uk { __le64 *shadow_area; __le32 *push_db; __le64 *push_wqe; + void *push_db_map; + void *push_wqe_map; struct irdma_ring sq_ring; struct irdma_ring sq_sig_ring; struct irdma_ring rq_ring; @@ -393,12 +394,11 @@ struct irdma_qp_uk { bool sq_flush_complete:1; /* Indicates flush was seen and SQ was empty after the flush */ bool rq_flush_complete:1; /* Indicates flush was seen and RQ was empty after the flush */ bool destroy_pending:1; /* Indicates the QP is being destroyed */ + bool last_push_db:1; /* Indicates last DB was push DB */ void *back_qp; pthread_spinlock_t *lock; u8 dbg_rq_flushed; u16 ord_cnt; - u8 sq_flush_seen; - u8 rq_flush_seen; u8 rd_fence_rate; }; @@ -462,9 +462,11 @@ int irdma_fragcnt_to_quanta_sq(u32 frag_cnt, u16 *quanta); int irdma_fragcnt_to_wqesize_rq(u32 frag_cnt, u16 *wqe_size); void irdma_get_wqe_shift(struct irdma_uk_attrs *uk_attrs, u32 sge, u32 inline_data, u8 *shift); -int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *sqdepth); -int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u32 *rqdepth); +int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, + u8 shift, u32 *sqdepth); +int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, + u8 shift, u32 *rqdepth); void irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 *wqe, u16 quanta, - u32 wqe_idx, bool post_sq); + u32 wqe_idx, bool push_wqe); void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx); #endif /* IRDMA_USER_H */ diff --git a/contrib/ofed/libirdma/irdma_uverbs.c b/contrib/ofed/libirdma/irdma_uverbs.c index e52ce1cfa229..aee904a087bf 100644 --- a/contrib/ofed/libirdma/irdma_uverbs.c +++ b/contrib/ofed/libirdma/irdma_uverbs.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (C) 2019 - 2023 Intel Corporation + * Copyright (C) 2019 - 2026 Intel Corporation * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -221,7 +221,7 @@ irdma_urereg_mr(struct verbs_mr *vmr, int flags, struct ibv_pd *pd, void *addr, size_t length, int access) { struct irdma_urereg_mr cmd = {}; - struct ibv_rereg_mr_resp resp; + struct ibv_rereg_mr_resp resp = {}; cmd.reg_type = IRDMA_MEMREG_TYPE_MEM; return ibv_cmd_rereg_mr(&vmr->ibv_mr, flags, addr, length, (uintptr_t)addr, @@ -258,7 +258,7 @@ irdma_ualloc_mw(struct ibv_pd *pd, enum ibv_mw_type type) { struct ibv_mw *mw; struct ibv_alloc_mw cmd; *** 6932 LINES SKIPPED *** From nobody Fri Mar 13 13:10:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXPxF569Cz6V5YP for ; Fri, 13 Mar 2026 13:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXPxF4b8Zz3YXD for ; Fri, 13 Mar 2026 13:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773407441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjmysL32HZmImTaKa2HFPmNCMRDl5Zqg2Xxr4140l8o=; b=s4iOmunv+7ER+rFmNKg1wiy3eThq32rvHasxlAZijXsdgMKxwMB7rn1KXv30k48B3+Yh0h PAWdOkU+ngRGR9r3DUrJp0WFCRvzDePpsFLYntJqDEmY6oHPYir8qSeaLRVTIE5TPfGUbk tFZuPguG7Im9WYT+G9qojC11Vhe0HOj4nVy0aKikOjkMnzqltItIKtM4CHB+cfjydb1xfN Iz+6UobwMwdggy66bCYhaB0+6ADxFW1Au47JRp9PA8um+McB+sls81Ba1p2yGdBNQwhKFg zixaUjp1YhmqhMbab2UzA6WBczRHsgqclBEdrZoqMYkVMhpXgPYnRXXLHc3hZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773407441; a=rsa-sha256; cv=none; b=yOPCt2/+cO68Wv5WP95Kv5Ws62Rsx9YUMWfrXqpgorEQrpuv8++uRj2tNfKTZsOccHOh6Y A8uOu8NYGdAGrSckPupqY1XlLnIJ2WFntHqfDAS/n1D8GwQz2tllMRPiVWZ9QA7DlgwfsA Jih7gw0PXVa0pT0lED2m7ApTVQpIrgcNNLR85H5LJeNR1QxkF2zUQCs0rOlMIfKezWOahv zoYso5Wmauf3ijyDUFuKUS+oBMe6P2wxwYTg36fttsSrERdlMfHRF9PkmJR44HCUC0cWjX aKP+TlcKTPofMf3OD92Z0b620kqCpBUwzVUyxV30l/O9kl6OJN3cUWn0AqDEYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773407441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjmysL32HZmImTaKa2HFPmNCMRDl5Zqg2Xxr4140l8o=; b=qaztbpUUxUoj77A4SKvhQuD+pets1BobKLZrFp/sNHUboMAVx5Mb7zxpX7ezFIHjGlFAKE 67Fn60SXOBjEu2d9QN8nuvoidLqFpzf2m4XGSfSyMplDcz87WhX3Pukqzjv8AiR4PZojaR zkcgMEeOAvLv0tZnAhes20ygWPeTcFuw1/RiinCYhoooUzCVpyuTIFNZK/MPTsoggzLpi1 IjSaTXIaVWzj6u3NGp2qduU9suF23tFPguplXq+PQOJw7MAM+M5iZCQJdKEuByitsChfJB qtqPprJG95k+tXnP1PxuiAjxS10+Bu0LXPKMnuiwaCczKvQc9gNo1YERdJ/eAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXPxF3lZ6zZMf for ; Fri, 13 Mar 2026 13:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27eba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 13:10:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 4da237aee328 - main - alloca.3: Add entry about defining VLAs in same block as alloca() to BUGS List-Id: Commit messages for the main 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: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4da237aee328f368cd85b659854c4556a39f15ef Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 13:10:41 +0000 Message-Id: <69b40cd1.27eba.de1cc3f@gitrepo.freebsd.org> The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=4da237aee328f368cd85b659854c4556a39f15ef commit 4da237aee328f368cd85b659854c4556a39f15ef Author: Aymeric Wibo AuthorDate: 2026-02-19 14:47:06 +0000 Commit: Aymeric Wibo CommitDate: 2026-03-13 13:08:31 +0000 alloca.3: Add entry about defining VLAs in same block as alloca() to BUGS Refer to alloca() as a (builtin) function or macro, as it could be defined as either depending on the compiler. Paragraph about bug comes from Darwin's libc, and example added to illustrate it. Reviewed by: bnovkov Approved by: bnovkov MFC after: 3 days Obtained from: https://github.com/apple-oss-distributions/libc (partially) Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55370 --- share/man/man3/alloca.3 | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/share/man/man3/alloca.3 b/share/man/man3/alloca.3 index fd88014dbb33..9e905d4487f3 100644 --- a/share/man/man3/alloca.3 +++ b/share/man/man3/alloca.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. +.\" Copyright (c) 2026 Aymeric Wibo .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -25,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 29, 2025 +.Dd February 19, 2026 .Dt ALLOCA 3 .Os .Sh NAME @@ -38,16 +39,14 @@ .Sh DESCRIPTION The .Fn alloca -function -allocates +function or macro allocates .Fa size bytes of space in the stack frame of the caller. This temporary space is automatically freed on return. .Sh RETURN VALUES -The .Fn alloca -function returns a pointer to the beginning of the allocated space. +returns a pointer to the beginning of the allocated space. .Sh SEE ALSO .Xr brk 2 , .Xr calloc 3 , @@ -55,24 +54,20 @@ function returns a pointer to the beginning of the allocated space. .Xr malloc 3 , .Xr realloc 3 .Sh HISTORY -The .Fn alloca -function appeared in +appeared in .At 32v . .\" .Bx ?? . .\" The function appeared in 32v, pwb and pwb.2 and in 3bsd 4bsd .\" The first man page (or link to a man page that I can find at the .\" moment is 4.3... .Sh BUGS -The .Fn alloca -function is machine and compiler dependent; its use is discouraged. .Pp -The .Fn alloca -function is slightly unsafe because it cannot ensure that the pointer +is slightly unsafe because it cannot ensure that the pointer returned points to a valid and usable block of memory. The allocation made may exceed the bounds of the stack, or even go further into other objects in memory, and @@ -81,3 +76,26 @@ cannot determine such an error. Avoid .Fn alloca with large unbounded allocations. +.Pp +The use of C99 variable-length arrays and +.Fn alloca +in the same function will cause the lifetime of +.Fn alloca Ns 's +storage to be limited to the block containing the +.Fn alloca . +For example, in the following snippet, +.Va p Ns 's +lifetime does not extend outside of the block, whereas it would've if +.Va vla +hadn't been defined or had been defined as a fixed-length array: +.Bd -literal -offset indent +char *p; +{ + const int n = 100; + int vla[n]; + p = alloca(32); + strcpy(p, "Hello, world!"); + printf("Inside: %s\\n", p); /* Valid. */ +} +printf("Outside: %s\\n", p); /* Undefined. */ +.Ed From nobody Fri Mar 13 13:13:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXQ0Z0PYkz6V699; Fri, 13 Mar 2026 13:13:34 +0000 (UTC) (envelope-from fuz@fuz.su) Received: from fuz.su (fuz.su [IPv6:2001:41d0:8:e508::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-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "fuz.su", Issuer "fuz.su" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXQ0Y4TXmz3ZVh; Fri, 13 Mar 2026 13:13:33 +0000 (UTC) (envelope-from fuz@fuz.su) Authentication-Results: mx1.freebsd.org; none Received: from fuz.su (localhost [127.0.0.1]) by fuz.su (8.18.1/8.18.1) with ESMTPS id 62DDDQCv047524 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 13 Mar 2026 14:13:27 +0100 (CET) (envelope-from fuz@fuz.su) Received: (from fuz@localhost) by fuz.su (8.18.1/8.18.1/Submit) id 62DDDQ10047523; Fri, 13 Mar 2026 14:13:26 +0100 (CET) (envelope-from fuz) Date: Fri, 13 Mar 2026 14:13:26 +0100 From: Robert Clausecker To: Aymeric Wibo Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 4da237aee328 - main - alloca.3: Add entry about defining VLAs in same block as alloca() to BUGS Message-ID: References: <69b40cd1.27eba.de1cc3f@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: <69b40cd1.27eba.de1cc3f@gitrepo.freebsd.org> 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:16276, ipnet:2001:41d0::/32, country:FR] X-Rspamd-Queue-Id: 4fXQ0Y4TXmz3ZVh X-Spamd-Bar: ---- Hi Aymeric, Am Fri, Mar 13, 2026 at 01:10:41PM +0000 schrieb Aymeric Wibo: > Avoid > .Fn alloca > with large unbounded allocations. > +.Pp > +The use of C99 variable-length arrays and > +.Fn alloca > +in the same function will cause the lifetime of > +.Fn alloca Ns 's > +storage to be limited to the block containing the > +.Fn alloca . > +For example, in the following snippet, > +.Va p Ns 's > +lifetime does not extend outside of the block, whereas it would've if > +.Va vla > +hadn't been defined or had been defined as a fixed-length array: > +.Bd -literal -offset indent > +char *p; > +{ > + const int n = 100; > + int vla[n]; > + p = alloca(32); > + strcpy(p, "Hello, world!"); > + printf("Inside: %s\\n", p); /* Valid. */ > +} > +printf("Outside: %s\\n", p); /* Undefined. */ > +.Ed I am unsure if we should document the behaviour of mixing VLAs and alloca() in the same function as being defined, as that binds us to support it in the future. I would be a lot more comfortable just documenting that behaviour is undefined if the two are combined in one function. Yours, Robert Clausecker -- () ascii ribbon campaign - for an encoding-agnostic world /\ - against html email - against proprietary attachments From nobody Fri Mar 13 13:58:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXQzv6Vgwz6V9SX; Fri, 13 Mar 2026 13:58:03 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta004.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 4fXQzv46v9z3fBN; Fri, 13 Mar 2026 13:58:03 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4001b.ext.cloudfilter.net ([10.228.9.171]) by cmsmtp with ESMTPS id 0x4cwEmVjPzKy131ew7F4T; Fri, 13 Mar 2026 13:58:02 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id 131dwAoBBX0jp131dwSasX; Fri, 13 Mar 2026 13:58:02 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=FMIWBuos c=1 sm=1 tr=0 ts=69b417ea a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=Yq5XynenixoA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=rxLMDWAdaBGlTZdBPdgA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy.cwsent.com [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id AF98C289; Fri, 13 Mar 2026 06:58:00 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 7355B1A5; Fri, 13 Mar 2026 06:58:00 -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: Robert Clausecker cc: Aymeric Wibo , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 4da237aee328 - main - alloca.3: Add entry about defining VLAs in same block as alloca() to BUGS In-reply-to: References: <69b40cd1.27eba.de1cc3f@gitrepo.freebsd.org> Comments: In-reply-to Robert Clausecker message dated "Fri, 13 Mar 2026 14:13:26 +0100." List-Id: Commit messages for the main 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 Date: Fri, 13 Mar 2026 06:58:00 -0700 Message-Id: <20260313135800.7355B1A5@slippy.cwsent.com> X-CMAE-Envelope: MS4xfPQ+XnEbppU9NTBMzEwoVAhL7QnCJA6y7+jPSTPo3RXC0HLV1dRevuLhHQWXWwL8io324Pq5dTPmQweOhAWrcV57AZkRDva+tqDkCZQQjA8R/a3VPonm PAhxraolIiJ0QIA4RsG5CIrbIsfpqSbKDVbKQE40wawEBjkArGBvE1owbHDaUfgT6Ep743KH2C7C2rsHtJlOpSknPCc5U3/Nyi7nqSYTbM+AeWGwn/Lm8fp5 rD2RR5zUXkqni2dLJn51TbTNT70+VPFGR2IxxyF98styGdXZ0N6xOphCIeN4ygFMB/PYuafSSVArcCX03MbXNpeX8wm2HXgoH7XEHs35XqweU34we1ZpzL9L X9DYggXA 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: 4fXQzv46v9z3fBN X-Spamd-Bar: ---- In message , Robert Clausecker writes: > Hi Aymeric, > > Am Fri, Mar 13, 2026 at 01:10:41PM +0000 schrieb Aymeric Wibo: > > Avoid > > .Fn alloca > > with large unbounded allocations. > > +.Pp > > +The use of C99 variable-length arrays and > > +.Fn alloca > > +in the same function will cause the lifetime of > > +.Fn alloca Ns 's > > +storage to be limited to the block containing the > > +.Fn alloca . > > +For example, in the following snippet, > > +.Va p Ns 's > > +lifetime does not extend outside of the block, whereas it would've if > > +.Va vla > > +hadn't been defined or had been defined as a fixed-length array: > > +.Bd -literal -offset indent > > +char *p; > > +{ > > + const int n = 100; > > + int vla[n]; > > + p = alloca(32); > > + strcpy(p, "Hello, world!"); > > + printf("Inside: %s\\n", p); /* Valid. */ > > +} > > +printf("Outside: %s\\n", p); /* Undefined. */ > > +.Ed > > I am unsure if we should document the behaviour of mixing VLAs and > alloca() in the same function as being defined, as that binds us to > support it in the future. I would be a lot more comfortable just > documenting that behaviour is undefined if the two are combined in > one function. Agreed. > > Yours, > Robert Clausecker > > -- > () ascii ribbon campaign - for an encoding-agnostic world > /\ - against html email - against proprietary attachments > -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e**(i*pi)+1=0 From nobody Fri Mar 13 14:07:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXRBS0Y7vz6V9gy; Fri, 13 Mar 2026 14:07:12 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXRBR75Q8z3g0f; Fri, 13 Mar 2026 14:07:11 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773410832; 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=XBH34siSZi2bUazc75q6vXcoUR8x9afRJDpx5Ptodjg=; b=h3XXSKFOmE7DewafyAMJY5OhErPnZSRPm4fByINKNtNFYz0qOLfHkbx9vv+VKRRMxuBA3Z tUJYIp3Hyr+GHnIjt67eXJzHZ1q6fQYLUlLHNqOvfgBZyUMSCsh4Q0BqbRwRXefN5ANBjZ w0nC237utqu6nx5oY7/gTG8M+j3erpuxq1YxVzWVwOLyY9UoWVC3Obz7+QQWZCWMnlSU2c S/lDK4a1vfvU+8LocG5lB35ivnHKEV3pDcwfMZeuEfvXCaLctbZJRuVXpMfv0jumHHgN8C UVFOuia99Ls0jfGWEzYAS2/3q9nBL1nFpNlVDp3VnVu4PspQtl12Y6S9ZueCzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773410832; a=rsa-sha256; cv=none; b=NvGf0GsCprmKMM+Cn/nMHhYbNX0G48PF27lzSuPDjoHV+ia0DvLP1L9LEYjuXTkOiYwUZQ 3we5qIiQeKxEnnENXE6Id5RudloAJ6OhNMFGw/96QB2OrBxgg011NC11zE4Mzhmnp47E4J 6j7cnbdPlsZb7xkTu+lAtuUGmp92XgMAJIQjEzOBdgNgVRcQ9h9JO+YV/nAMMSC80Ib5lM KCB+ZbQd3T09LMEdJNHv9OvbKhlS467jf3Egm219GxTUvvc8tf2wFOF/M4HDtCOizIqRaj +JbQIOovtRlmW1b6kF3ZkTngokEYzTHVXXIqRL48qe87bwtrbyJfUtbisAHa4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773410832; 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=XBH34siSZi2bUazc75q6vXcoUR8x9afRJDpx5Ptodjg=; b=fGbfY0X9F/6/bnB1/CJ9+tCI6w9B8uts7ESUhY+B/E4Ekw2iJto+Mm+kLidX/eezWzVR22 EVK995l0fG9wgrO8AKwqdRFvFdTXlcG5iasFs4eK+DW/pUs1MH6F4vvxiek6dHfOnPVgGe N29RgT/ZVU4JYYIEoaSJWvOsevNCpxuO+jnoXcSQBlWBYIJ/ZqoOsEGR1mZGl9JcTQ8fX4 7AGkW+NT+aG05xbhId2NPIxJoO1P7afUpriiW7aTdzdkGGuBkjHtJIxlOnbCW7neIFkm2X U6Wsi5z82y/KWJW3Q7d0gEAnwTaSqMsDO7a8Z0gaI6qGcT7LPgAHwOMGLkzFIQ== Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (using TLSv1.3 with cipher TLS_AES_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: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fXRBR2B3BznHt; Fri, 13 Mar 2026 14:07:11 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Pouria Mousavizadeh Tehrani Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f87ba4522ec9 - main - acpi_system76: Add support for battary charge thresholds Date: Fri, 13 Mar 2026 15:07:03 +0100 Message-ID: <11782617.X2hNYcAVgp@ravel> In-Reply-To: <69ae912d.3d042.77be2a85@gitrepo.freebsd.org> References: <69ae912d.3d042.77be2a85@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: multipart/signed; boundary="nextPart11191702.1nsi24zuCt"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart11191702.1nsi24zuCt Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: Pouria Mousavizadeh Tehrani Date: Fri, 13 Mar 2026 15:07:03 +0100 Message-ID: <11782617.X2hNYcAVgp@ravel> In-Reply-To: <69ae912d.3d042.77be2a85@gitrepo.freebsd.org> References: <69ae912d.3d042.77be2a85@gitrepo.freebsd.org> MIME-Version: 1.0 Hi Pouria, > The branch main has been updated by pouria: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f87ba4522ec9e7b2227b8f20f3a4d7c6a129da1c > > commit f87ba4522ec9e7b2227b8f20f3a4d7c6a129da1c > Author: Pouria Mousavizadeh Tehrani > AuthorDate: 2026-03-07 18:33:43 +0000 > Commit: Pouria Mousavizadeh Tehrani > CommitDate: 2026-03-09 09:11:56 +0000 > > acpi_system76: Add support for battary charge thresholds > > Reviewed by: wulf > Differential Revision: https://reviews.freebsd.org/D55710 Could you change all occurrences of mis-spelled "battary" by "battery"? Thanks and regards. -- Olivier Certner --nextPart11191702.1nsi24zuCt Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmm0GgcACgkQjKEwQJce Jif5eg/9Ex34OSWNJcrEnCnouXq5VuNbefa1S+Hi80nL39rZJK/Wy49nGC9/AUFg iCixY0UMJHSsXL6Uz9YZAMLLHXrF/hLb8RdKxgWvc3hrgALgM4wvoJIGklOlaYih KDXEENuyj5uQmrYBx8E6sUKZtdO1+OaZOcI1UpM+6WzF3hWF+0rxyCat7c7FF/Sp VExf/40nnIpQPJPGUsdkykq/cN5cBC4DuTIf/tKSjzkaI7mn/iumW1ngtZTxQibC jBJ+J0CalF/CSfa9Dn3SFGu62//nTOH46Wu0uebaA+3ps0lCHToAtn67OT4WGSph +Bkk4v/ov01QmUomD/Rzr+Z7iKEpp2hr5L2YVtzlF37fQBvCqGC6AnJN3/I0UWoj fd7fsb+m9VUwcEfGyLUJAKGW57f4YEbixBa2m+bbzccF/DPmizNYNGNhxNhp3CIL 2O0/5PkopePbexAc+kwqeLjb2JJE91Mj51WBukJNpX/7s/qpIUpeJAWKbjaGAaat 8Zv76ltg4DfaGqfDjKQI4TYWD+IDX3k/3oJ3HW0FWMqGoDcLMKtMG6OGu8sblKJF bX3bZ1QIA1Pdnuq/J1ZRz0rnG69Axw1GD2K5LcW9TlNqBIW7BEYNtTbY05A+yL7d fy9rUXl/ERUVVBwOv5KEI9snTD/cJp34eLguSmfc/cZfpiUIECY= =NWZA -----END PGP SIGNATURE----- --nextPart11191702.1nsi24zuCt-- From nobody Fri Mar 13 14:52:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXSC46PjYz6VFVf for ; Fri, 13 Mar 2026 14:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXSC45Nkmz3rSZ for ; Fri, 13 Mar 2026 14:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773413568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uGTTv4AkYDgoi3Y9zg3h8wyHRXjMQ1rArzMRJDi3WF4=; b=DDEN+eQVNjt//MNYiP0clxqQlhkzUJ2JwNDavSqAnxJOdSiYBK67j0E8NrBqQzHf037sPb aAKc5sh2PR90xcqPUrdLAc8FE+H6HSaDdfCbZQvJ6xNd/sXxrLqCAN7jem13fw3houhfe0 8WXNa+IAYCATmcpTrIz9yIwSWmgEAhQCP4vvVmYl4LQBzYSHcHRet9mo4mIxEFTLQZ8dJT EW4RwHnwzZpuH+ZaQABL97fLFn/D3Hm4kWOrPOYQl8tFD9fmRfgLVtyFaGvCrdijUgGvwL ui4b+r0nu+v9HpkzY7XruX15mgc5gDAJ8EcBYT9BnJKZJtkgO9WEzlDM/8E4bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773413568; a=rsa-sha256; cv=none; b=A4igqLJHnweN1akF9b5Jf/tNwTQp/s0NlTZRAYcaJRvJkUGTKbsP5x/oOjW42RL68ZnT3/ fXqupJ81jc92veNVe2YC0H3L1Z3E73BeI71/IhxaaN/SVQUiJzZUJARzCcIvO+aYnx3sR2 e6Ia0Qu2QoiRtDG2B+ZFJXKDU3GvohmhT9ZM6fIrgL7UYxw3lD7sJ83+ujS6iKVECdy4b0 Eqfzze6/xpufFZxqL7VBVTbxD16U78ji+ddANobuoVaq7wQQqYMHcnOark8LBbRZLgysdH gp3cl+fFrlMNv3z7qk5X70MLwtN6QwwumcR9ktq2pHlc5QPpQerpMsHFHnrlGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773413568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uGTTv4AkYDgoi3Y9zg3h8wyHRXjMQ1rArzMRJDi3WF4=; b=d6fnzA2tONEe6mdzP4pn7x5sAE2YJlSWJcZOG/Vu+DFVeogsylVGHTDaBKzHgSfbB461Wm +JWPVWkmUGSYOuE2/uci6h+pwqpWT2CPzjiP++4ye91uQ9XClkqLZJ63MUGrlnUZPd0TY2 DT5qhnG5NStSLvq7w4yL6v6guTJMB+RB1i1I0WW9OuDRBbb2f0cDV+qAk7gGqQ10rhb4g6 Go2EwWgMCwTjvBFt7l4Xhqm5IGeZxTPGK6km+dtbhu8fIMI3mLiSmN5gbWxS5FK8bJXnBs c8s4ga1alEMD9pxXt3di3iSm7fW5SPSfYNDCFglltumLtOz/ldO9sIclFyogrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXSC43tL6zcnD for ; Fri, 13 Mar 2026 14:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a40e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 14:52:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Koshy Subject: git: e9f3af5b2844 - main - readelf: Use the gABI name for a dynamic tag 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: jkoshy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9f3af5b28446ffcf55d8a8f7d59eb89ac3a3b4b Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 14:52:48 +0000 Message-Id: <69b424c0.3a40e.7898b23a@gitrepo.freebsd.org> The branch main has been updated by jkoshy: URL: https://cgit.FreeBSD.org/src/commit/?id=e9f3af5b28446ffcf55d8a8f7d59eb89ac3a3b4b commit e9f3af5b28446ffcf55d8a8f7d59eb89ac3a3b4b Author: Joseph Koshy AuthorDate: 2026-03-13 14:34:56 +0000 Commit: Joseph Koshy CommitDate: 2026-03-13 14:34:56 +0000 readelf: Use the gABI name for a dynamic tag value. --- contrib/elftoolchain/readelf/readelf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/elftoolchain/readelf/readelf.c b/contrib/elftoolchain/readelf/readelf.c index daaa7bf62dff..43585459d82e 100644 --- a/contrib/elftoolchain/readelf/readelf.c +++ b/contrib/elftoolchain/readelf/readelf.c @@ -864,12 +864,12 @@ dt_type(unsigned int mach, unsigned int dtype) case DT_FLAGS: return "FLAGS"; case DT_PREINIT_ARRAY: return "PREINIT_ARRAY"; case DT_PREINIT_ARRAYSZ: return "PREINIT_ARRAYSZ"; - case DT_MAXPOSTAGS: return "MAXPOSTAGS"; case DT_SUNW_AUXILIARY: return "SUNW_AUXILIARY"; case DT_SUNW_RTLDINF: return "SUNW_RTLDINF"; case DT_SUNW_FILTER: return "SUNW_FILTER"; case DT_SUNW_CAP: return "SUNW_CAP"; case DT_SUNW_ASLR: return "SUNW_ASLR"; + case DT_SYMTAB_SHNDX: return "SYMTAB_SHNDX"; case DT_CHECKSUM: return "CHECKSUM"; case DT_PLTPADSZ: return "PLTPADSZ"; case DT_MOVEENT: return "MOVEENT"; From nobody Fri Mar 13 17:30:17 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXWj85PWgz6VSqN for ; Fri, 13 Mar 2026 17:30:36 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 4fXWj75dKDz3GMb for ; Fri, 13 Mar 2026 17:30:30 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4853aec185aso21011225e9.1 for ; Fri, 13 Mar 2026 10:30:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773423029; x=1774027829; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=IEy/wpXsHQHIKY5qJsPau/Zcd9aG07kYSCtr9mLE3x0=; b=Q8U+p6T4UBL7poG5b+QYNA3rppGFO7Kq1d+yXkwbDGYY+CG26wixlhju6du1fqh/Y9 M+BT4og4Sk2h0+vUz7Meko4JDgQFFW/foE4rPU8w/d5yABlxQCosLEK0ugbLuDAAEBWN btg751hqw4uyWNq0Cn/3D/LEj5HZARMEqHZRY0eKEf9rKvfeO//SAscaHIEXJggxsVEu deJMl/jnaCDlG5Wk6RXrGleGEzQZ6GNA1JdhpczD8My1rR9HPmMV9LzPtGA0p+A9ZZZX iPngjKxVImqX6ARbSgoBCFDMkaHlwXPaRQdvldzSSNGiNqUroFtHlZSzI2AhWFOQ7k7u 4DWg== X-Forwarded-Encrypted: i=1; AJvYcCUe93DRQYkeWfHYtU4WX9ZmnkBZMkcMcN8n3g3S0p+L4pMwEy8J2bkXECpRAfc/OmK1ZGAIWEIHKK9Xqn60tbEqxCQfXQ==@freebsd.org X-Gm-Message-State: AOJu0YzIuf3ZVCpa6deP10pqliJ0Zh2eQTRJeXY7RDHIX9FtcGN6o3SC BnFUbmePwnPVpkUPXlCiPv2w+U1Ka/M8JI0WP8s1NqI153sasqjEM/NbCwi9y/fp4cA= X-Gm-Gg: ATEYQzwj/VIdnSRGuKmZPYVG7f0wsKp4QR2Ov3Q4+Zc16yOWUNOmXwvxU8hh+CNeot2 f95rXJx1sS9Grw+udsEx1H7YUUTmG+WLAfN2Af6NRNZ/DSmMAzWaPheClt8lbL4BptcydmF13+b bJZ3nUElhL8L+CbQaOPJh+sIejiYj6vOpnRy6/0Ah79x+5zT6jkIX0lnnxgVphpmBRAgVKzFoPP ScRlC3tee5dgmySbyq/XRxspQ2sLTY6Yy6RFCjplNFrArjhewhdBCCNZo5N5BCGfCpEPRQF5+CJ 2IJ8pq8W+9TOinxiLu5EUXhg8PRAUYQmd8FbeePiQ6CcnphuAo77FumfMnFtZ67x3kNojP6zXK8 veb0h+38qCiR2GnqS1/SN4MNZvv8O+oldFbgEDHrvRS7+uT+Y/FwQ2pjx5MzHn+X/WRK1YgXi4J 4qisaJM4982+JOgJepCf1C2Wik5AcyPgHBW7s4pllqIA74vPvYZmDqV7WbOTVF3ADt X-Received: by 2002:a05:600c:1395:b0:485:2fc5:3a5 with SMTP id 5b1f17b1804b1-48556709d85mr66610805e9.26.1773423029029; Fri, 13 Mar 2026 10:30:29 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48557c66583sm25823855e9.21.2026.03.13.10.30.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Mar 2026 10:30:28 -0700 (PDT) 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 \(3864.400.21\)) Subject: Re: git: 858f53dd43ec - main - Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools From: Jessica Clarke In-Reply-To: Date: Fri, 13 Mar 2026 17:30:17 +0000 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Ahmad Khalifa Content-Transfer-Encoding: quoted-printable Message-Id: <3C05C40C-2A62-474B-915B-8EB5511A869B@freebsd.org> References: <69a88413.1be02.24089406@gitrepo.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.3864.400.21) X-Spamd-Result: default: False [-2.64 / 15.00]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.98)[-0.984]; NEURAL_HAM_LONG(-0.76)[-0.757]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.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]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEFALL_USER(0.00)[jrtc27]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[freebsd.org,gmail.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.45:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.45:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4fXWj75dKDz3GMb X-Spamd-Bar: -- On 8 Mar 2026, at 21:56, Ahmad Khalifa = wrote: > On Wed Mar 4, 2026 at 9:12 PM +0200, Ed Maste wrote: >> The branch main has been updated by emaste: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D858f53dd43ecb84cf2597229e9dbda2f= 242d9dd6 >>=20 >> commit 858f53dd43ecb84cf2597229e9dbda2f242d9dd6 >> Author: Ed Maste >> AuthorDate: 2026-03-04 15:06:26 +0000 >> Commit: Ed Maste >> CommitDate: 2026-03-04 19:10:48 +0000 >>=20 >> Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools >>=20 >> Because of this setting we were still using ELF Tool Chain tools = for >> buildworld. The sets of binary utilities are largely equivalent = and >> this went unnoticed after commit 1cae7121c667 ("Enable = LLVM_BINUTILS >> by default"). >>=20 >> This was discovered recently because ELF Tool Chain objcopy = produces >> standalone debug files without phdrs and this caused an issue with = a >> 3rd party ELF parser [1]. Remove the forced setting so that we = use >> LLVM's binutils to build the system. >=20 > llvm-objcopy doesn't get built during cross-tools, which results in > cross builds not having objcopy. Not sure if just specifying > llvm-objcopy under cross-tools would fix it, haven't had the time to > check. >=20 > See https://github.com/freebsd/freebsd-src/actions/runs/22685122750 >=20 > Thanks. Ed, GitHub CI has been broken for over a week now and I=E2=80=99ve just hit = this locally. Can we please revert this commit unless you have a fix imminent? Jessica From nobody Fri Mar 13 17:51:12 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXX8x1XqHz6VV04 for ; Fri, 13 Mar 2026 17:51:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXX8w37JKz3L1q for ; Fri, 13 Mar 2026 17:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773424272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n8fkNdIPqncARcFj0N1ZSSiqd94UszARv7cp/ugEs+s=; b=wbnhPsfpZybwRfHTaocQWSEVB8gCUj9nKzgCkyjVKJ3s5RuXepWEj8/Q94H6UgWNHq/doo V5AMC4D/YfiioblGWGNNZsnr5vZbWWYAVaSMVnXVGjJRMAVvP4AV8q8H8FZHPMuG9NM/gt e7WnYCS8MUL48CHtL+o99j4tgp/Zpe9NghdNWLJpp6JHCxK/7BiaFB7mg/QU3sUCnOclId Tc9InzMqAyRSy7YKkABybf/B0hmvUduTZWQ8lX3xS2Y2Xgm+qrdE6LNUu44ztd39JtSlDT 1OKWm1/hvk/P+DHRNgp3YCmzlHULcjkT2JU41jV8gy4iB+mMysrNkt69aAAZrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773424272; a=rsa-sha256; cv=none; b=LRtIu6hYT0VsIw2N9ZhlL6aqBO0EFQ0aKpBXhkwQiGnrKLGVoVegnTdrp4GEzw+gxO4c5W HmXaxKhJavMS+PmL3qp5PdrsJHBJySRNEB+AkEqunU/pGChojuBC37qoTV1IV6lnQEPGO1 WCVCXVXGapaDRxqAFFiLRZ61is+RuCjN/FT1UvRKqJxWCWLHhEFjXmyrk1Be9yErz+ymcq vUL7rhDYQo/3penaT3MQpIEAJdm8e0Z+Z7eWyeoDbnVjOYyNC05xdq4YvQO44fjO4VdmO3 lebR+SQWWGIX3XUID7uHqNygugEEV5be0zmNS/gt7PdUnPLALxGADuf8lAYqUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773424272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n8fkNdIPqncARcFj0N1ZSSiqd94UszARv7cp/ugEs+s=; b=oIvPxV42ua9mKY1MhB/Jm+IqEverjbZ0AP7WmemzYMl5YPnfYX7SthUOKU99TCETFbF6IL fdvo7VBqZMXIj/pAWxTF+8pFBXWWHhTfbNPLSpUVwGkDeZLUHFVjj1TAcaX6II+IjXqxRm /NfnwjgtL65UWLXLdSf4CgYFPUl5jkTiR2YLJvLsTO8npcIknViJfqL351xXh5N+UArQI/ wsCY0/70fI30P0zLS5qwIPxoz2+mgE+rQxG7Urkua0WOgK43JnN02NMWuabwa02TgvPSFv gh9jNjIV+cnHZpcjsHZdxliX4HbjR+2qT631qHjpiYHA6MnhAUBAOH7zOChvEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXX8w2RdQzj2f for ; Fri, 13 Mar 2026 17:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25925 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 17:51:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: a1fa1478f665 - main - ndp: fix late KASSERT in nd6_queue_timer List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1fa1478f665ceb85e4b58e4ed8234edef833d97 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 17:51:12 +0000 Message-Id: <69b44e90.25925.732bc5ff@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=a1fa1478f665ceb85e4b58e4ed8234edef833d97 commit a1fa1478f665ceb85e4b58e4ed8234edef833d97 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-13 12:41:04 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-13 17:47:37 +0000 ndp: fix late KASSERT in nd6_queue_timer Reviewed by: glebius Fixes: 7f3b46fe54f1 ("ndp: Add support for Gratuitous...") Differential Revision: https://reviews.freebsd.org/D55844 --- sys/netinet6/nd6_nbr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 25786ebc0ea1..5cc0553fe7c6 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -1669,8 +1669,8 @@ nd6_queue_timer(void *arg) { struct nd_queue *ndq = arg; struct ifaddr *ifa = ndq->ndq_ifa; - struct ifnet *ifp = ifa->ifa_ifp; - struct in6_ifextra *ext = ifp->if_inet6; + struct ifnet *ifp; + struct in6_ifextra *ext; struct in6_addr daddr; struct epoch_tracker et; int delay, tlladdr; @@ -1678,6 +1678,8 @@ nd6_queue_timer(void *arg) KASSERT(ifa != NULL, ("ND6 queue entry %p with no address", ndq)); + ifp = ifa->ifa_ifp; + ext = ifp->if_inet6; CURVNET_SET(ifp->if_vnet); NET_EPOCH_ENTER(et); From nobody Fri Mar 13 18:12:04 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXXd11hMmz6VWrS for ; Fri, 13 Mar 2026 18:12: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXXd05wZ3z3NVm for ; Fri, 13 Mar 2026 18:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773425524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ+pZJsi0c2rQtd2J4g4MMJiVt8UQ2WfoMnSkR9pg1s=; b=PkMrVBJzihxvFwSPjJu48wiIlmwUQaI42mzmhlXOSxNUUP+SDpyFA4VpkIn6E+lsFHc9f4 GnU+xcjR7Wigle8uKAf7x+k8ERCub2OwaeuwFuUXiiBqDXT3eclwgl/X+ZaDJaKiUOU3Jv P8SxZzVh2AuxqJyjsf2lQl0NgDSL1iyo3frHKNl6UYtex/ogN25l4469y6odUO0uaJsyWE 9nhD+QqaIXcwcy/cvBJ5J5V+Uvz10+wsGuGb1YbU5I11E4YKclhHePy8m04ZVC+MljCVR7 JiifP4mpvUT2VfUVMWu/nHMLAgg0RVF+KGTr7l3vGCL5rShpg+L0+4CNhZCGOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773425524; a=rsa-sha256; cv=none; b=GQG0IWbtDi9WR2YT0+ZUtqPJhr2j5+TT/HfPoi8ehRu1/BWwrssfy9mFBweHit1jLt4fny I847k+QFqChB31CAhHB09lEk08sphZyvC0OLAzKdeviulBzMNzurqI7ax1lyCLAA9I2SVZ R9gkoRemtf+P/ZWK6Iz5y60qEZlikqqme8G5hV79N63haR7ZE7gJbepFpLqpE6+JGV/3wY JENZAyM955AhowFlbyEHFWW4vzl4vT7rEaf53cTwVAKO89Eejt32bi2FCZPrOanWy24zh/ DYowN3jWlBJRuhj872YVJD6JbiZaxlugv39pgRO2fpgUB6aldGNs8TSObuRBkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773425524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ+pZJsi0c2rQtd2J4g4MMJiVt8UQ2WfoMnSkR9pg1s=; b=Omd4LKfzQ3KaPfKk958QNEI7Lm17zPDoeYa/0jk7vk5ZyCr+1K/GuFXu0xozyuWyUKN3j3 BRp2Z3cczeLcYbx4ysKopDvgWAYzkg2hvlFxGXThZaNBnrzxib3G6rlOtz2zOpZLEvgzR5 aMtdJevSVhi29GX+8HvG0KSrHJURWy32QOVrLnDNW3mqhoIeXHwOmZIGuJrdbxHRsBwIJG 6TN6/WgERP5aYauP5M2ne9LfydstorJkZ5Aa97VH/7QdoAuWDnDwHSXwfwcB0KM71Rzzeq loXqdzCHpoLodCuzTNZWQHq6/53phsBKwOmYaidmpUKA7Cckatk3euanzNMf6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXXd05Dp1zjT6 for ; Fri, 13 Mar 2026 18:12:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 264e5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 18:12:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kousuke Kannagi Subject: git: fa341366b1de - main - committers-ports.dot: Add new committer (mce) List-Id: Commit messages for the main 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: mce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa341366b1de86ed97e909bfd10241d590212fe2 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 18:12:04 +0000 Message-Id: <69b45374.264e5.2860e7b8@gitrepo.freebsd.org> The branch main has been updated by mce: URL: https://cgit.FreeBSD.org/src/commit/?id=fa341366b1de86ed97e909bfd10241d590212fe2 commit fa341366b1de86ed97e909bfd10241d590212fe2 Author: Kousuke Kannagi AuthorDate: 2026-03-13 18:04:12 +0000 Commit: Kousuke Kannagi CommitDate: 2026-03-13 18:04:12 +0000 committers-ports.dot: Add new committer (mce) Update Mentor and Mentee Information. Reviewed by: osa, fluffy (mentors) Approved by: fluffy (mentor) Differential Revision: https://reviews.freebsd.org/D55839 --- share/misc/committers-ports.dot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index 84a9395fb216..416695aac3b6 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -244,6 +244,7 @@ marcus [label="Joe Marcus Clarke\nmarcus@FreeBSD.org\n2002/04/05"] martymac [label="Ganael Laplanche\nmartymac@FreeBSD.org\n2010/09/24"] mat [label="Mathieu Arnold\nmat@FreeBSD.org\n2003/08/15"] matthew [label="Matthew Seaman\nmatthew@FreeBSD.org\n2012/02/07"] +mce [label="Kousuke Kannagi\nmce@FreeBSD.org\n2026/02/18"] meta [label="Koichiro Iwao\nmeta@FreeBSD.org\n2018/03/19"] mfechner [label="Matthias Fechner\nmfechner@FreeBSD.org\n2018/03/01"] michaelo [label="Michael Osipov\nmichaelo@FreeBSD.org\n2023/10/16"] @@ -493,6 +494,7 @@ flo -> jbeich flo -> grembo flo -> tiga +fluffy -> mce fluffy -> vishwin flz -> garga @@ -701,6 +703,7 @@ obrien -> gerald olivier -> pizzamig +osa -> mce osa -> nxjoseph osa -> otis osa -> vg From nobody Fri Mar 13 18:54:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXYZ26c0Zz6VZfR for ; Fri, 13 Mar 2026 18:54: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXYZ2687Cz3Snd for ; Fri, 13 Mar 2026 18:54:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773428074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yhc/L/1NbBfMwvYrhJ4PQUiRNckRP9VaWGTAPYhc5h0=; b=hqHXLmk6MQ8m+vDZc2JK+PqNnrylibRtbDcA1i4ZrVXU+iyx5xdICf9nN/49r0fcvLY0RG 65G4L7FrHxF5urw914eTi72w/A9OhHDwchbfg5Ig2M9B85T2VCk/BxU/Z9+zn0+eNifGIl qD80ah3XrUGWTDVpq7PyDSVoSkAUoiit+/jfGLD6zY2a7vx6IoMBOoiBZKt/tBZAV8u7o0 OuV1Hmpr0RVD9ue2XlAFX5WVdyQpM2T+2fVqZq2RFwmVWhHZyCiDzkdXsrJ9z3CMAgVYqS tWHpPjjBOHHPVQ9hqqJoH11we7YjKTI+v2+70jzH0ucdduNcivYDfB1hrgdvNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773428074; a=rsa-sha256; cv=none; b=a2BbubnLFqExFyzO4sCCDjaKyAPp524sJsYv0peaAsB7NKyTIai4ADtIayUNWgu9hWsd+M vv26H4THC+VI9j9kBsvm5HdrvA2kfIHAzw0+EqJgX+pUkBadA/zp36ONbQ8Q0I2kiX5qAM Gt2wkG7A4yZl7ekZkMKZCDmB0H0PErcyUUhb29VSicsCJn1mptOGkqAkNhQE0+4qjU+JY/ g3mJrR9Hk2T21ucCxNVwhytSa0szHYGv+53hqmuD3x5BCCnc/JEoP/nR8qtwI9HY0eL3T4 TdvYSdcOBAmo+0WEGYrcj3orl/ttG6ogEXNviQqawuefYHrVDI/ZHifEf/zoIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773428074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yhc/L/1NbBfMwvYrhJ4PQUiRNckRP9VaWGTAPYhc5h0=; b=DIMJC41XqBvvzxTcn2wkKd2HVyzCQ8/ANXmVNIzW/1XI2cTG9CrWmVLjQfuJ6+fHruOeP+ bWNaeA0O2EpqXih4zIujSxoUtccYVrN9/fDk01dPFiS06ay5q2vFSGINrW3iQhy9VfewOL nqB3FNLFshurP+JD8CXl4+b3nTRJ5XqFcSSJu4UJyD8G0YqWX/U7+dGXRe03vGgTTu+iew YaxmeTymY3seQczNetm/RKbY01MALEJwvBdY2FFamAx+BQrbfvOrRLKZRILUMHakgvcySi S8+OiX5vHmB5a3D94nH8W8esxyieMDJ7VkSJrQzwAYTZIw9NklVd211J+DIdvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXYZ25LD8zl9Z for ; Fri, 13 Mar 2026 18:54:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 323fe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 18:54:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 703901bce15b - main - i6300esbwd: Set error appropriately on event List-Id: Commit messages for the main 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: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 703901bce15bdd746cb20ab3fc88f5859924cf76 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 18:54:34 +0000 Message-Id: <69b45d6a.323fe.315f786c@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=703901bce15bdd746cb20ab3fc88f5859924cf76 commit 703901bce15bdd746cb20ab3fc88f5859924cf76 Author: Justin Hibbits AuthorDate: 2026-03-13 18:49:17 +0000 Commit: Justin Hibbits CommitDate: 2026-03-13 18:49:17 +0000 i6300esbwd: Set error appropriately on event Per the watchdog driver contract, if the driver successfully arms the watchdog it must set error to 0, and if it's unable to arm the watchdog it must leave error alone. Sponsored by: Hewlett Packard Enterprise --- sys/dev/ichwd/i6300esbwd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/ichwd/i6300esbwd.c b/sys/dev/ichwd/i6300esbwd.c index 03d504a350aa..e810dcd888c4 100644 --- a/sys/dev/ichwd/i6300esbwd.c +++ b/sys/dev/ichwd/i6300esbwd.c @@ -112,7 +112,6 @@ i6300esbwd_event(void *arg, unsigned int cmd, int *error) cmd &= WD_INTERVAL; if (cmd != 0 && (cmd < WD_TO_1MS || (cmd - WD_TO_1MS) >= WDT_PRELOAD_BIT)) { - *error = EINVAL; return; } timeout = 1 << (cmd - WD_TO_1MS); @@ -148,6 +147,8 @@ i6300esbwd_event(void *arg, unsigned int cmd, int *error) regval = i6300esbwd_lock_read(sc); sc->locked = regval & WDT_LOCK; } + /* Set error to 0 to indicate we did something. */ + *error = 0; } static int From nobody Fri Mar 13 19:25:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXZFJ6cbhz6Vcj2 for ; Fri, 13 Mar 2026 19:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXZFJ5rjfz3WC3 for ; Fri, 13 Mar 2026 19:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773429908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZbGnob4vPepAHJ8tw82/6ESOpufHdeKwvHefNVmL6WU=; b=PSrILf+bTVzC7TuGB+aStu1N7X7OFaFSZsf/UYeAJjM7i33arZ/YSj4By/L46DnwOlKFJ/ DcZuGjQrFlShFTfbQkUoam87LJ/PAmcSVShwze3HO1SDzXibrcGxueeBoND0stX8/+mdak lpX33+l24fcKQwwW4AjSmDW5wjMSGBFtXX/A8qPl74brSutECgqD1+yqSE8VcyionFZvit jGOMIqkhok1nDRS0Q9CfyXK7puGh8YbbZjoQYqVOb1PzNJfBTd9tblIRN1IejB5dsf6vgk PI9OVrIUnNb8wlH53aDPBa8jK/8+nHnYdUMVu0SMyQUMdMFeQLsAxd6Yd7h4eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773429908; a=rsa-sha256; cv=none; b=yYWniBbijvO2usnqadDwOHjBTBgxZHpcLultWT9zD1UsRqMOTRscSXmeOZH7HYHe4qHiir TehP/MgI6R7P09Qe3DMfgHE/cdm6vBnPBkmaz7j9kVJsbeMEZnSxNLa2Q0se1xICoH79Lj CaYsEjDG6rjQaXNtrtKNL4o6XinLVcAm0T4rlLr40B0rtAMQGFtigaPixzsybk9mOuq0wH jHN+Bfqmy07NnQxgwswn/fo82wecv8mPG5YeVgI/miKo2nFylx5+9VaY8BJ+Vv035VFanR BfQpbjr9T760YTKAKzkGUo+Xi02msMWDGADpAxehK/jdTZUFVEhaZagDWXyUCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773429908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZbGnob4vPepAHJ8tw82/6ESOpufHdeKwvHefNVmL6WU=; b=oRyUNA4Njw5lLd6LSCPRydVZaz9ffqCdCUSI6IQ6WF+qIDkNCK1gLiglFIytKuMYiqtp1A 7pgqHwkXH9a3853keXR1yvuPXBq0mtKrqmG9yh2awxrhKcYMD/t9eFNVOqmz8eAyuJx/Fx RSDXf34nG0lpSHXuat8ccoAcvu93rxi08pV8QMAswUkTBKdO9LfEQcPyfLBv/c5/GOHhjg m55AX8PywHl8Ku52BZqr0SnkChTKlXLf8HPw8KaO10HfJ7pCgQfTCmfrlM5IPQlceZQ7Si Fs2chazVV6qmQNvzTatt+DQoITWp2gu5QcJ1UQGMhMSrai1Dr+1lR3wczdqg8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXZFJ5CWMzlxZ for ; Fri, 13 Mar 2026 19:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37979 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 19:25:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: c70f382a8b39 - main - rtld-elf: Remove stray _exit prototype for aarch64 List-Id: Commit messages for the main 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c70f382a8b3907069589954433fe091687f15373 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 19:25:08 +0000 Message-Id: <69b46494.37979.66d145f1@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=c70f382a8b3907069589954433fe091687f15373 commit c70f382a8b3907069589954433fe091687f15373 Author: Jessica Clarke AuthorDate: 2026-03-13 19:25:04 +0000 Commit: Jessica Clarke CommitDate: 2026-03-13 19:25:04 +0000 rtld-elf: Remove stray _exit prototype for aarch64 It's not clear why this is here. It's existed since the very first version of rtld-elf for aarch64 but has never been used, and anything actually using exit or _exit should be using rtld_libc.h's #define that aliases them to __sys_exit. Fixes: 047c6e3ae6ab ("Add the arm64 code to the runtime linker. It's not able to be built as we still need libc_pic for a few things, but this is expected to be ready soon.") --- libexec/rtld-elf/aarch64/reloc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libexec/rtld-elf/aarch64/reloc.c b/libexec/rtld-elf/aarch64/reloc.c index 85f7c1b4022a..96ee13048d81 100644 --- a/libexec/rtld-elf/aarch64/reloc.c +++ b/libexec/rtld-elf/aarch64/reloc.c @@ -44,8 +44,6 @@ void *_rtld_tlsdesc_static(void *); void *_rtld_tlsdesc_undef(void *); void *_rtld_tlsdesc_dynamic(void *); -void _exit(int); - bool arch_digest_dynamic(struct Struct_Obj_Entry *obj, const Elf_Dyn *dynp) { From nobody Fri Mar 13 20:27:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXbdk0P8fz6VjCH for ; Fri, 13 Mar 2026 20:27:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXbdj6vF8z3fDV for ; Fri, 13 Mar 2026 20:27:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUp3+wbUp2R2kHurZkROVD8LzblGrxyHaoSpahKH9rY=; b=Ah+2AuUXDBYXF+yoGfQsl0qej+6TN7fgby3FKovQ9JZHkcSgn/ZghTOHeYn5EvP9MusoBe vHuABDO+hKtML/yiPUZm7oq+4SwIc9C/Nc884UrRl8RV99ilwScnhSIgIm7xTJwiXtFbSu tkG+bkczRwOk+cAwfHVowBqnU7goKqleRUaqcp6yGSH73tzdsY1uvK1gwi3McIAvtqX179 yGsKRnQf9EcwKyuX3MPfw/QxGZCOGAvC/9HOdDVDu0IVo5RjwJBEH08RvDqtU0qanbckSm 74NdFQTV1mAEpSxpvkyHd2P3guxP881Q+FH4GoAzyUGhfFXVCP09jum/6SqPlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773433674; a=rsa-sha256; cv=none; b=vHTqY+DLtUX1Htacbq5f41XfuX0lKDF6ZnlconAiUfZPBFnqDRlwPXP2YaWptvHCFXJaxQ TFR2MvbkzdXA8ej17rLMYLUeaJDMINuyXSQqhdKF5gjBbAESwTQ1mioVLSigxPScXd2sak 4eMFVzhD5MMNi70N5JvQ9f2iiSuoo6WJM34yBh57y/s/9wdSGCnALh3yMdArH/Y+gDDdLp 68cdijpWHQ8EeK7fxR2wqKxKaeogG/WeVD65MqKv13Kt0HfxMefQ0g3qrHWa/+SohIp9HK uMmuqxmcfxjJP7Kx4bKz4Gng/htRpjZ8OINZOr8oevAVPfP5BN6nOYrejPLNWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUp3+wbUp2R2kHurZkROVD8LzblGrxyHaoSpahKH9rY=; b=X787KT+XDiy+65qfvXOUY8yvRYwtJ2wpTUikoTeZy6lgQ6BmktL3WOd5E+7di5Qx6IEXve ilmN3RAv2DixuNXZHJ0fMjYxLzWmx/SkpkTcHXnV4df5mf/Nv2wrzdLzMgiR9aTtPgepc3 l3voeZNEjPcGYJQaMAJFRfNcYY0ytrTCkEFdPgIwdb34D3HPqpxSfYNGL+8GL0FeWUZb76 Ca9OYWigFGwEWQOPM0QCmoSCexekXXwoe9oCLQTmcNVcuBfSSY1PM91Ol5tWmIJbe3UQTp 619eILf69BeDB5sr6+GcTNyX6q47qsAg5caqDARXt21lBJVEJt/19cymqokbLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXbdj62Z5znVb for ; Fri, 13 Mar 2026 20:27:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c754 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 20:27:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 78c4f821f43d - main - jail: fix crash with startup commands on a jail without name List-Id: Commit messages for the main 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: 78c4f821f43d530ba1f2a6308a64a8483208ebe3 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 20:27:53 +0000 Message-Id: <69b47349.3c754.4f134b49@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=78c4f821f43d530ba1f2a6308a64a8483208ebe3 commit 78c4f821f43d530ba1f2a6308a64a8483208ebe3 Author: Gleb Smirnoff AuthorDate: 2026-03-13 20:21:26 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-13 20:27:39 +0000 jail: fix crash with startup commands on a jail without name Jail name is optional, thus don't try setenv(NULL). Fixes: d8f021add40c321c4578da55dae52fb93c7ccb5f --- usr.sbin/jail/command.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/jail/command.c b/usr.sbin/jail/command.c index 9da4fe51673a..8a1d281eff4f 100644 --- a/usr.sbin/jail/command.c +++ b/usr.sbin/jail/command.c @@ -814,8 +814,8 @@ run_command(struct cfjail *j) if (!injail) { if (string_param(j->intparams[KP_JID])) setenv("JID", string_param(j->intparams[KP_JID]), 1); - setenv("JNAME", string_param(j->intparams[KP_NAME]), 1); - + if (string_param(j->intparams[KP_NAME])) + setenv("JNAME", string_param(j->intparams[KP_NAME]), 1); path = string_param(j->intparams[KP_PATH]); setenv("JPATH", path ? path : "", 1); } From nobody Fri Mar 13 20:30:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXbhR6CfDz6VjYh for ; Fri, 13 Mar 2026 20:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXbhR3LG3z3fn0 for ; Fri, 13 Mar 2026 20:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzPuyPuT/fM3Y2JVUtMn3aVAYWdEoisIjHcB52d0wsI=; b=rUy+03F0NyK7GWihLVovfbawodtqZv+KqImLyR1hhsfHCD39enjCcxl14A0fRFApewTmkR kdozSsYFdTKlJR75WmxoUXKJBdOIzoDEBexK+6ODV6ixwXcnNx6DR9lOi6W31pr0Zk7AN7 KHH4XdoV9AFE7Dp0NR8ZR3r8VYNC+rST88L7ubnvEBAlfOp0IUScWBzZJXif9FAvTztdL3 /SzvzgCXx8gTr2j5HO63vhChG2yFvKBwR4FVvc8eqv+26KuaPHhmzBUnL4vSCP8H2a9znP xz72ZnwXL0LjRAT/mH/oe3LfG9yyDlv3yuyKG55vpBfUjCF8hHmI2WSHpdz3rQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773433815; a=rsa-sha256; cv=none; b=m8lnJH0cjvVCPsBHbLr1ZXBw0T+zJye6D4tc7Chyjhnwk8jP/aLqU+dGhn+h1OFr7023/0 CIDg3TzfwkU78IfmGkxuc1bGi17UGWGs2BwSYkjGxwDjQvx4xZZR816RNnFUa3liEGPpvT zbr2Y/jOtOqlEwPAuesfWTT/T/xV8A6dePGGCFXhO/rKHeDGtNRGx2t+ev9TfiEfUK5oqr QfttbmHT41fIPPQBynaZPhKmabGkM5w57D6qmxZ3VbAZGjkg/AJgXg7r+FTD7lZz8LX0jx IXilS0rpaHfnn5ylUnJ9oAiHc7Nz5so/TpZfexleLl8WqwQ1wAqV7rG6EE2HMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzPuyPuT/fM3Y2JVUtMn3aVAYWdEoisIjHcB52d0wsI=; b=Lz0sn0mQbuvW7GHWDtR7Rl/BcrfZ875bes4nGIh7Z1+fzJpwQ3gNvCV2W/GVkumTDrZWqd hzRG8jAfwaYpK9Qlp9Q+VhkeOyqgnSRaVT+V/WCnD22ebJI4w+NT2VYwZSnif1rDnMoUMo r+twinXdgfkR7wEUhpVPo4rkVTb2JVwoqZeWUMe7CbfMkqn5TcLRftI91zITjn4mwCOAwp zLF3QeU5HDQr+FBfVjb/Yds0nbLdWAV/w+Yt9PGUhjhXMKVfAHZVeEwFcQr/TLhiULHyya 7WHVn/KrOEKnxi+LFaeE5PKdxF66SoCamii+g1178ug7siPdveXIGI9NWpT5TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXbhR2NqXznft for ; Fri, 13 Mar 2026 20:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e529 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 20:30:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 77e0c9c3414c - main - inpcb: in in_pcbbind() use bool for anonport List-Id: Commit messages for the main 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: 77e0c9c3414cbe30eb7f376bf9c8531ca0f097ff Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 20:30:15 +0000 Message-Id: <69b473d7.3e529.708ed5c3@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=77e0c9c3414cbe30eb7f376bf9c8531ca0f097ff commit 77e0c9c3414cbe30eb7f376bf9c8531ca0f097ff Author: Gleb Smirnoff AuthorDate: 2026-03-05 20:47:51 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-13 20:29:50 +0000 inpcb: in in_pcbbind() use bool for anonport --- sys/netinet/in_pcb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 96c8d3c73b0e..e375f0edcc7e 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -715,7 +715,8 @@ int in_pcbbind(struct inpcb *inp, struct sockaddr_in *sin, int flags, struct ucred *cred) { - int anonport, error; + int error; + bool anonport; KASSERT(sin == NULL || sin->sin_family == AF_INET, ("%s: invalid address family for %p", __func__, sin)); From nobody Fri Mar 13 20:30:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXbhS4pF0z6Vj8r for ; Fri, 13 Mar 2026 20:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXbhS2rZMz3fn1 for ; Fri, 13 Mar 2026 20:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9+FJtnpwRj/q2uiOdLP+MURj1+RpAbkrS75OYNILwI=; b=lLfamz9aKVGHuEz2uN1lPs+4QkTmL17bJTb4BCIjSwL0hXSaE6loWThl0BvS87xsgyYGNO 8euyir6LZuyAIWaW+bzvBj0t87XnVD8tn52QibuEBgKU8LOn4ww1qChS20YRlWZupHDWH3 5KafHwODXT6E1KyfOMfySKHFGCr9COReODRSRuDGW9AyFGMftG6tMO2UZYEa9LuOOGcfMz wAXPgu4pm13FBZ4mCDZuZBP2QUSdm+Dy8O+ERcMpAfK4co6hIjdDRp2uCAdzKDCOykbE4A 8Fb9anvVLu6iX+8Rwsgy+IEKnbckStfP6CYNF0vx+nM7AnYijAbdyKJmJXB25A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773433816; a=rsa-sha256; cv=none; b=i5TLwBuKD+2nlqqRFnGkt0PuwJBYqV+1mG6zyVB8+of7hgHFaMc9Zfp0yB0Au83LMIlZMa SuulBNRzXcMCwc9wlKN+AMNcZ1lsurz5mOdrVfw2vOPe7RJ4wArwz/oNiScmD6liqYY0aS rlhSFx+8J44IcQEfex6yVrsq6kX5eBVVxH4POx/ZcqhUse37d9utMOJcQcSsoMZte1jolq sUO/oDQSjpqBWIRJd+wDljtSwB1RlGRzrWlWkWKqxB3Ct3TYLWig7N95ypHiHsXc9xK+zv Rz/0GTofsoBnFAsKWFDAqjZgAP81M/fbVwBh/wFZxEEb6TPx36bIiT4EEz0z2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c9+FJtnpwRj/q2uiOdLP+MURj1+RpAbkrS75OYNILwI=; b=qYYlgCoMK5APoX/asP2n+ITvEmODm3qznydfVrKkDHRv1nIxVxV5G2bAbimyuSV/+JP2Uq rS85r6pfuUzhWOC79GzT1/PRo8G/KQtq/G/SQJSrAgnIi+Uo3WAo0/uovaoS7Vcv6ikBx1 9gAIg8OX+UFwYigjjfyi9UAbHNhjL0qrimPJfxWONsSxnoNAnWO7Z+r8Ckdx8yoiZm3Qnq vkIGmeX1sZF1ShqE+yk70GAjDLNc+3utPMql9DnHGLAH7JGedgS/4ud31bCaODZUjZRGMM oJyLi1MH/MRiUILIj8M/M5C8raJx873Z77MgWh2ynq6zYbdTushTrRj7HrrCew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXbhS29BJzmw1 for ; Fri, 13 Mar 2026 20:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e903 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 20:30:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 512e189a9641 - main - inpcb: remove a completely outdated comment List-Id: Commit messages for the main 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: 512e189a96415c3471399581239c243d1032e07a Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 20:30:16 +0000 Message-Id: <69b473d8.3e903.dc6bed8@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=512e189a96415c3471399581239c243d1032e07a commit 512e189a96415c3471399581239c243d1032e07a Author: Gleb Smirnoff AuthorDate: 2026-03-11 03:09:22 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-13 20:30:05 +0000 inpcb: remove a completely outdated comment --- sys/netinet6/in6_pcb.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index d503165979c8..6bea94160eb2 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -357,17 +357,6 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, int flags, return (0); } -/* - * Transform old in6_pcbconnect() into an inner subroutine for new - * in6_pcbconnect(): Do some validity-checking on the remote - * address (in mbuf 'nam') and then determine local host address - * (i.e., which interface) to use to access that remote host. - * - * This preserves definition of in6_pcbconnect(), while supporting a - * slightly different version for T/TCP. (This is more than - * a bit of a kludge, but cleaning up the internal interfaces would - * have forced minor changes in every protocol). - */ static int in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, struct in6_addr *plocal_addr6, bool sas_required) From nobody Fri Mar 13 20:48:28 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXc5S2VXPz6Vl2y for ; Fri, 13 Mar 2026 20:48: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXc5S1kSnz3jMZ for ; Fri, 13 Mar 2026 20:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773434908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ZMMtF3TQV5u1KxNoechbOC01uKEcxy2o74gjyZSf8I=; b=bfgaOLhsg6YSlOIEjQxYwaIfWyqU518xYQw/GElqSfWc5+JTwmAiBq3PwMh1FgBS3Z2bKX 1eeeJwWltVJK6oknmppD24QE0E6umNAmRhwZUploZQsTcIdkdtqqXcHZ9LkagwIbJS5roO 5yY+IOjaipcIIOF8q87DlXWVketJBF5XjXD6pEI7muc+uihrmU6KxYascKctqVpc1iNMUy hkpqe2m9vsy/WLIZQbt/WlYADlc+PcrU3Nwo+PpYBTDHB29xZQXpLbp8kzDohyTCZ6diGo HeDjx9m8krthc/AdQ0hsh4HSBHbBf6+vIN1qO+cZ3KaMqMUTVtWMgPWBWAilmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773434908; a=rsa-sha256; cv=none; b=T1kcsvlGJPvbkFt7OoWSlZVlCIqLJUdWdJPa6TTWlybtJsKWw/SJL+1pNKBhkmcqTBOx/1 6kKDD6G/pUOpM6ZIakhy580EH3MXCic0zxH86AuShUkqZ/n1YaxmCIwJw59wUU8a9QPFfp onxTH3CAn57EJ2A5H5XVx8D8OPcRGPeyTVmNI6UAVeVt0qWLEHaxJbDds9XduOH7vEyRnQ 7EHkUJ4kDhOkaA7p6jJwpnuuHv/Y3Y8FRPFR1ouL5FCCvZRPrBWvRlA1f0d2lRw6TbH4gy +TJ2rDrF93TJxUdFlQU6VMCvEHhPc20NeDo4JFHG3fEs/KmFWX2Zv+Ml5qcTog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773434908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ZMMtF3TQV5u1KxNoechbOC01uKEcxy2o74gjyZSf8I=; b=fFx33gt9ojm2mjLRfxrSRceEohJegStXc0hKfi2PLWOpBsAXKfi/siimOIsMKhOQ48yWS8 qgV0ATl18iHNKAYECvm9UwiBgF2zC1pAwfeoiA5ZkHueqrt06BCMUcVVTPuviuTn6OMH1z 0oDF5W9IAiXfDtLUjm4x+b5TEIk4gy5CU7ZeM89lXc4Noc8dJ/LRUKKPetDdCdbgdCeQcV UBYmr3D8EHM72Zc9w2L/dWz++cKAQFtHC4rxbHDC3kckEtlkbLJf8+h1/sBKGwYWexIxgN dqCcUKKuo79t1Ydw7I46EvKAVai+TY+gAweC8koBmCoUKLN38YyxCihRjC5O6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXc5S1KB3znxk for ; Fri, 13 Mar 2026 20:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e92e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 20:48:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4a8055914d6a - main - Revert "Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools" List-Id: Commit messages for the main 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: 4a8055914d6a60714f27379cbff8b2e9198157f6 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 20:48:28 +0000 Message-Id: <69b4781c.3e92e.665bf041@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4a8055914d6a60714f27379cbff8b2e9198157f6 commit 4a8055914d6a60714f27379cbff8b2e9198157f6 Author: Ed Maste AuthorDate: 2026-03-13 20:45:30 +0000 Commit: Ed Maste CommitDate: 2026-03-13 20:47:33 +0000 Revert "Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools" This reverts commit 858f53dd43ecb84cf2597229e9dbda2f242d9dd6. It is not clear to me why building from Linux or MacOS fails to build the toolchain, so reintroduce the long-standing slightly-broken toolchain until that can be determined. Reported by: vexeduxr, jrtc27 --- Makefile.inc1 | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 8a1958902db5..c4696abae8cd 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -808,6 +808,7 @@ XMAKE= ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ MK_CLANG=${MK_CLANG_BOOTSTRAP} \ MK_LLDB=no \ + MK_LLVM_BINUTILS=no \ MK_TESTS=no # kernel-tools stage From nobody Fri Mar 13 21:25:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXcwZ6kz3z6Vn8L for ; Fri, 13 Mar 2026 21:25: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXcwZ60dMz3n2r for ; Fri, 13 Mar 2026 21:25:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773437150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fmvfsQrlAL7LMSZTN3+FcAPMd+t4mf6tStMRILDWr0w=; b=DSlJDhuptNqrrvYXVhb4uWhc3LT1uAuDGpjqGNw8hT9yrfikuxvDh/bLW2f6s0KIM0zyW5 9F/KD1OO9qU8bSlz9Nl5m4IEykTD9AoXZWXdqerjIWg1Eop9E0dwgcCUb520grl2cUvTN0 TWpLCHUIr2XYWKNOOm1QBL3mSlyaPINtYuSam4rJyCXeFYR5S3d410+0F0gBWea2UGK4l4 16L/mXalyg9FfuRONTbCrG5xjbFMDnAj6dYWRZLp8GRk3bWqakFDzjNvrEmNY9ehQT01hw nFOM8UqsYVGhd0YBVdu5yJYk7gk08k7UDCZLC3bEM5K874qCovLSg+KNGqQJRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773437150; a=rsa-sha256; cv=none; b=rhBfj59HRJPt9K4z+WdF2eu4hvr7GspHKss/hNwc/Zs0jb4+0uVEFbjcjix9VnrL9M3zGN OLDB22cp2PFvRHSs0vcNxG/24xmUfWISm1taXIcJ3BH3TLt8dIPSJjzwYeG9LhZfTMstDl 6Zt/IMHggWErWs41PnpT/3iOS5XcuAdYuVMRP4wzrERpyKUV/PT5884dp+DA6KDgluM2pf JZqlgVNjGIAnw9/T6+5DzfOEHLg3F7wOBlD8VilxGQL1fxHAlgvyXBn83iOMmb4rbSeCNB vd2AK8oLMM5013UoqRcpiodXpEXQak/eZ3bwMFiDGBvkcZW2dhu8ishnfXgOuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773437150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fmvfsQrlAL7LMSZTN3+FcAPMd+t4mf6tStMRILDWr0w=; b=HLgbilXRq/TjqgS6SNL3t7l9zPIgj+bLnvwe1rzIhCF9kNiL91M1VEP/etUqctuyX46zZE m+8h6FvrroHWoaTCfFMmog3JmTjq8BMnwToTINHfcvFjdyTyEIbfKxoeTw+bg23D2Uf75C LBJCQsckWyxxwc8kmtSy+YPTrjNoISS+jXo4usu1YFzvC48fPj5ye/MNmJ2rXdLZxaJqIL zZUh1yxi5dwmSU41Nlla4ZTDamt/jmJIFWkO4W0gnDK4g3TmjziK7mMEzLgPdLTZX3JlYY 8vOVDVvtITFgDXyvFeK60hW9omFTRP95P1JauWIbisMHOyl55Uc5fTlVWwPv4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXcwZ5DR0zq1m for ; Fri, 13 Mar 2026 21:25:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43b82 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 21:25:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 277830b4d3ae - main - EC2: Don't use unicode in boot loader List-Id: Commit messages for the main 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 277830b4d3ae9999c80bf915b5491850e91c6516 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 21:25:50 +0000 Message-Id: <69b480de.43b82.e1c0e5d@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=277830b4d3ae9999c80bf915b5491850e91c6516 commit 277830b4d3ae9999c80bf915b5491850e91c6516 Author: Colin Percival AuthorDate: 2026-03-13 20:45:05 +0000 Commit: Colin Percival CommitDate: 2026-03-13 21:25:46 +0000 EC2: Don't use unicode in boot loader The boot loader menu is disabled by default in EC2, but if it is ever turned on, the default (unicode) output breaks EC2's web interface to the serial console. Set loader_menu_frame="ascii" instead. MFC after: 3 days Sponsored by: Amazon --- release/tools/ec2.conf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 744ac24a3f0f..62d7d1957aaf 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -41,9 +41,11 @@ ec2_common() { metalog_add_data ./boot.config # Booting quickly is more important than giving users a chance to - # access the boot loader via the serial port. + # access the boot loader via the serial port; but if users turn the + # boot loader back on, avoid ASCII since it breaks the EC2 web console. echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf + echo 'loader_menu_frame="ascii"' >> ${DESTDIR}/boot/loader.conf # The EFI RNG on Graviton 2 is particularly slow if we ask for the # default 2048 bytes of entropy; ask for 64 bytes instead. From nobody Fri Mar 13 22:11:10 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXdwx37glz6Vs1b; Fri, 13 Mar 2026 22:11:13 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta004.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 4fXdwx0sxbz3qWb; Fri, 13 Mar 2026 22:11:13 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4001b.ext.cloudfilter.net ([10.228.9.171]) by cmsmtp with ESMTPS id 14pIwFDP4PzKy1AiuwMiW1; Fri, 13 Mar 2026 22:11:12 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id 1AiswVPdDX0jp1AitwTYDc; Fri, 13 Mar 2026 22:11:12 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=FMIWBuos c=1 sm=1 tr=0 ts=69b48b80 a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=Yq5XynenixoA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=BFhekqoS7RXcri7vg8MA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy.cwsent.com [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 75CE212C; Fri, 13 Mar 2026 15:11:10 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 3A2E7305; Fri, 13 Mar 2026 15:11:10 -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: Ed Maste cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 4a8055914d6a - main - Revert "Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools" In-reply-to: <69b4781c.3e92e.665bf041@gitrepo.freebsd.org> References: <69b4781c.3e92e.665bf041@gitrepo.freebsd.org> Comments: In-reply-to Ed Maste message dated "Fri, 13 Mar 2026 20:48:28 -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=us-ascii Date: Fri, 13 Mar 2026 15:11:10 -0700 Message-Id: <20260313221110.3A2E7305@slippy.cwsent.com> X-CMAE-Envelope: MS4xfIpQ+aKXpkW7axw6V4iTqQCGhjJSE+SI1ZLpOzY7us38EnWtRLI9BX1YZKCMz3imSDQ1NKX2mVD6MJhvxwxUIMg09CdmRibZOfRQl4Ue0MEemk6cm5lh KpnqsFRLRrnVDsdXTB9ZvS/9hbZggduS1I7QAoV2qIz3MxxADEw9jWsm3L/wdZsNDIdYhHQdL6RfjF2QeCdZxeqYcC1c7qw2NZ/w2qpvP+rHn9tBmcxpoFiG xrOkUvOaI1WkTCfaRdG2qhbWw/f9tJFxog9jZtdl18P3tf38h3NFxfMULKDbYoYuJmBk00QPFpPJuZ6ZqZEhNhiqnkyqmttK2V1U2+YzQg8= 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: 4fXdwx0sxbz3qWb X-Spamd-Bar: ---- In message <69b4781c.3e92e.665bf041@gitrepo.freebsd.org>, Ed Maste writes: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4a8055914d6a60714f27379cbff8b2e9 > 198157f6 > > commit 4a8055914d6a60714f27379cbff8b2e9198157f6 > Author: Ed Maste > AuthorDate: 2026-03-13 20:45:30 +0000 > Commit: Ed Maste > CommitDate: 2026-03-13 20:47:33 +0000 > > Revert "Makefile.inc1: Don't force LLVM_BINUTILS off for cross-tools" > > This reverts commit 858f53dd43ecb84cf2597229e9dbda2f242d9dd6. > > It is not clear to me why building from Linux or MacOS fails to build > the toolchain, so reintroduce the long-standing slightly-broken > toolchain until that can be determined. > > Reported by: vexeduxr, jrtc27 Thank you. I ran into this problem too this week. > --- > Makefile.inc1 | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Makefile.inc1 b/Makefile.inc1 > index 8a1958902db5..c4696abae8cd 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -808,6 +808,7 @@ XMAKE= ${BMAKE} \ > TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ > MK_CLANG=${MK_CLANG_BOOTSTRAP} \ > MK_LLDB=no \ > + MK_LLVM_BINUTILS=no \ > MK_TESTS=no > > # kernel-tools stage > -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e**(i*pi)+1=0 From nobody Fri Mar 13 22:51:06 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXfpz1CH8z6VvtK for ; Fri, 13 Mar 2026 22:51: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXfpz0RB3z3vK1 for ; Fri, 13 Mar 2026 22:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773442267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+QH/KambtZy54AYBuWj0WGMUpypWEi6nwXo4VoHFQeM=; b=Jn55OnekX8E4Tn6P3EKsvuyUaIiEspsruoTbwuauy06T1v6rmH5NzdjBlvBdnUZkxWX/6H 04LYxX83mkZr1x6QOlPhu/n3e/WY+FDPjvNpgermlVYKFQNPAwHBKz0kQQNzJ0tKQq47u9 NMJeRzFa8SXkgaCtEfZy7mLLiaB9afVrHGONK7+Fc8NjMaA8fBUd8CLQOKeGsz51mUWbOd kX6+gpSKz/0sh2TwvpFllTZPm6I8I05YEe13ltNDIQgPe7HF/xmTjH6hUCwPcXKQ4+7mMg vZ0K4SCQtYwYWYbng95a8t2bvjnQJwlR1rtFB0E6zfajZZzgeGvE3hGEFyMtRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773442267; a=rsa-sha256; cv=none; b=opNueiUq5WcuJBsBW80HXO7d5NnwBeejxI+Z9twuvOAyrf7XzU+NwK9rp3+hJiGUEUZLOW rOnlcaS8UxRYgAdKd3tCuZE2gk7wn3bIjD+NRVjAkMMc/704vfbLi6iRW5GPQ71IhEV/zi brlG7+Ed3BaP9MvJBn3Y9O3HYY3BfKCDrBDcSYeXcF7A9WbRSvnkAfTMHcWic57dbsK6ri fDLKVCu4+99Oy96wF7flAgkpKB8rSo/qU/GNcEFGi7eyRdlWVk46lf5tQP8EOh5waoWlk2 uhwlnw5lUga6a2+zKyM9auuj0FVHcRD70+2cbfuUbWpTbNpNpQ1SMTmEuqfAhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773442267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+QH/KambtZy54AYBuWj0WGMUpypWEi6nwXo4VoHFQeM=; b=Gf2qbMfjxHwfQMef4/aKhkEc5vXROvA7IjvRN2KZV00FEp2GFo01Glq8vd1KnXg4zjdeRB apYziVL4ELZKUPP5f7+ThCzlDO9+ve7ZV6FlnCqpIYZiYZGLP2tprbaP2BPE5HrPMZZnMg ZAbNh3z5TjujDoQE3CWvMwVqsoGjZllzAQn818sEoLqdsXVdO04ID6NcrUJ7yJk7WlJzJV 4BLy5zO9XHJRBx+HjRUoKr9cbhUXNtZor0i7GDoOrINeFHYrdXbLfxr1QdwoPw2Am0IsuJ Pkp8Zye6L2ZIvbRsW/mvIX4zUyERzczKUHKlc0mqS66m7AHI2y0CJ6LpAKg7Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXfpy6SFpzs33 for ; Fri, 13 Mar 2026 22:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d7bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 22:51:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 914a53570750 - main - amd64: move efirt trap checks into the helper List-Id: Commit messages for the main 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: 914a53570750ce5a104a5870403d7669656fddc3 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 22:51:06 +0000 Message-Id: <69b494da.1d7bf.7cef39b3@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=914a53570750ce5a104a5870403d7669656fddc3 commit 914a53570750ce5a104a5870403d7669656fddc3 Author: Konstantin Belousov AuthorDate: 2026-03-11 11:53:52 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-13 22:47:13 +0000 amd64: move efirt trap checks into the helper Reviewed by: imp, jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55808 --- sys/amd64/amd64/trap.c | 55 ++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index d173f57e2e4f..a4676f156431 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -218,6 +218,30 @@ trap_uprintf_signal(struct thread *td, struct trapframe *frame, register_t addr, fubyte((void *)(frame->tf_rip + 7))); } +static bool +trap_check_efirt(struct thread *td, struct trapframe *frame) +{ + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ + if ((td->td_pflags & TDP_EFIRT) != 0 && + curpcb->pcb_onfault != NULL) { + u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); + + if ((print_efirt_faults == 1 && cnt == 0) || + print_efirt_faults == 2) { + printf("EFI RT fault %s\n", + traptype_to_msg(frame->tf_trapno)); + trap_diag(frame, 0); + } + frame->tf_rip = (long)curpcb->pcb_onfault; + return (true); + } + return (false); +} + /* * Table of handlers for various segment load faults. */ @@ -465,24 +489,8 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); - /* - * Most likely, EFI RT faulted. This check prevents - * kdb from handling breakpoints set on the BIOS text, - * if such option is ever needed. - */ - if ((td->td_pflags & TDP_EFIRT) != 0 && - curpcb->pcb_onfault != NULL && type != T_PAGEFLT) { - u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - - if ((print_efirt_faults == 1 && cnt == 0) || - print_efirt_faults == 2) { - printf("EFI RT fault %s\n", - traptype_to_msg(type)); - trap_diag(frame, 0); - } - frame->tf_rip = (long)curpcb->pcb_onfault; + if (type != T_PAGEFLT && trap_check_efirt(td, frame)) return; - } switch (type) { case T_PAGEFLT: /* page fault */ @@ -891,19 +899,8 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) return (1); after_vmfault: if (td->td_intr_nesting_level == 0 && - curpcb->pcb_onfault != NULL) { - if ((td->td_pflags & TDP_EFIRT) != 0) { - u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); - - if ((print_efirt_faults == 1 && cnt == 0) || - print_efirt_faults == 2) { - printf("EFI RT page fault\n"); - trap_diag(frame, eva); - } - } - frame->tf_rip = (long)curpcb->pcb_onfault; + trap_check_efirt(td, frame)) return (0); - } trap_fatal(frame, eva); return (-1); } From nobody Fri Mar 13 22:51:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXfq0235dz6Vvs6 for ; Fri, 13 Mar 2026 22:51: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXfq00Kz1z3vK2 for ; Fri, 13 Mar 2026 22:51:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773442268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akf6LJRtIZwaPPcSP2wR0sBUr3ZTtTQU6S6kWZxy9XM=; b=yC3ZPL+W/DpmhxY2287uN4ZG9YIPQn0754yi9Ycj9DiUMg2Z9axc0KNbb1Pb7XJoyOI/el kPEvZKgv01fB54anPT96YVcTmoeqeSXbL2YSK+b4GtX7/WcoG2NN8RZ/5mzvujZYkyPFm1 ys3fPh1SQXNnn05iy4S34KxZH7mLY9Ljoy4xetnaxjloGu1FXnJdCyo178pkCR+zuCAGY/ Kupk1m4Vp8e5sNA5tFGusAZ5HC0a8Sn0hukLP/M2VnViiq7OuLZFO7WJWDqTrS1YSBLxoO WwcXM7mjJlnZfcg/FWAOY0df1p3P+U9poSQ+qW4yEt/ki4695wsI1s/Lh7gFxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773442268; a=rsa-sha256; cv=none; b=aV1xDOUQ5Uu1D0nKoF99Rhe7CkHvRLXbACovFOj7kBmIPO/OPhCfKsi+fiDARv8WvDfAv+ aDvkGinFyhBHDV+R+mI04RC2wiScKYTVCnvD8291dsHg6PMT7h7LdD0IlFyXb1gECnG2pW xnvyoHisVsARiJfSY76B4RIG7b8KKrk+8BiPMSaCSplMDSWipDwX6jfDt9PrByNW9k0Upi ITVGA54c3B4BdNx4HKjhEhqCzwmZBs0P+OiWoOWrNnSH8k3G0pZcW2KPFvFWihnrjro/sH /rVL3jU2zmexPp5OxdVeuYawmZ2vuPJIl4YX+w1rC5a0hV1h5thIq12kaVkGqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773442268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akf6LJRtIZwaPPcSP2wR0sBUr3ZTtTQU6S6kWZxy9XM=; b=jq7fbKHgqvEGmPU4phEm3kk/0x+OC7vgxtwVYGO8qVNeHwkv5UL8tfGYPB1ThQstE7XanM osJ12fVr3lPtALWyHEiIGze648APLztjzpRzLRVdIiCDWda5tQnk5btXIIcxVBhAyKU14T ZO7bPkzZ92XSjECqrO3U43D726RVtwY3w8phI5hWbs3dCiH/BK+lm/dJ50bhutj/5tIPfC 7grhnPJ0TbZaR9aHEaPtLfZGPu5zq+jA8RvwfPxu033iWL3Z9CjUoW8x8lw31+fuFSAEyn 88MF6aGW55FAPpYbxgjNhPg5D2fprWku139mH0ho2I3T5O+jB00DudjZvrjfUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXfpz6znHzs4y for ; Fri, 13 Mar 2026 22:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d642 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 22:51:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d92ebde76430 - main - amd64: move code to clear PSL_T on debug exception into a helper List-Id: Commit messages for the main 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: d92ebde76430e99f78156fb1d865a18916380aed Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 22:51:07 +0000 Message-Id: <69b494db.1d642.4dc35392@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d92ebde76430e99f78156fb1d865a18916380aed commit d92ebde76430e99f78156fb1d865a18916380aed Author: Konstantin Belousov AuthorDate: 2026-03-12 09:40:44 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-13 22:47:13 +0000 amd64: move code to clear PSL_T on debug exception into a helper Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55827 --- sys/amd64/amd64/trap.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index a4676f156431..4bf56226d076 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -242,6 +242,17 @@ trap_check_efirt(struct thread *td, struct trapframe *frame) return (false); } +static void +trap_clear_step(struct thread *td, struct trapframe *frame) +{ + PROC_LOCK(td->td_proc); + if ((td->td_dbgflags & TDB_STEP) != 0) { + td->td_frame->tf_rflags &= ~PSL_T; + td->td_dbgflags &= ~TDB_STEP; + } + PROC_UNLOCK(td->td_proc); +} + /* * Table of handlers for various segment load faults. */ @@ -388,14 +399,8 @@ trap(struct trapframe *frame) signo = SIGTRAP; ucode = TRAP_TRACE; dr6 = rdr6(); - if ((dr6 & DBREG_DR6_BS) != 0) { - PROC_LOCK(td->td_proc); - if ((td->td_dbgflags & TDB_STEP) != 0) { - td->td_frame->tf_rflags &= ~PSL_T; - td->td_dbgflags &= ~TDB_STEP; - } - PROC_UNLOCK(td->td_proc); - } + if ((dr6 & DBREG_DR6_BS) != 0) + trap_clear_step(td, frame); break; case T_ARITHTRAP: /* arithmetic trap */ From nobody Fri Mar 13 23:31:34 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXgjf6CQrz6VyKJ for ; Fri, 13 Mar 2026 23:31: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXgjf3wMMz40SK for ; Fri, 13 Mar 2026 23:31:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773444694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZAUWn0BMBCNuHlR6MP/YGkhfIkFiao8otA69PzIR29c=; b=VsXyYYH+A24dBtLXdenCRcjT3WqqivXFAQX8zeAfDPTtA3FaWPEE4SXrsXygEBU5FVIDTy KuSP1mCmUw6h1udedD0YLVYhU3KqXEovVbY9cQkz3gI6C3SaqfDPiU7n4MUkfVtHPk++7j ZWr3VXCakmDqyXP4NfNW5YZkHAQbMYYRebaWCnqfPKiImr5vEB2EtEna34H4882FadugZv iFGYDxlRivEjZOFk7nTCfGVRMiQaDafX3/gQThQlLQ8DMkaeeJ3Xf5z5heEuTZVvEHgHLB DFTTxhjE0QyesQO6czCLueQCc7TIe6X9hVu0KG4BKvBYy3NRoDtf/e9jR0LVXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773444694; a=rsa-sha256; cv=none; b=iCHUIji9+VPva88w7FG/mBMRTToMeXwbItc+XB/26NJFtRpR4JopuE86SMDJyL3OZ+ROJV yLzwiMRSlJuBkUNnbRBUyVyjRlBqpWnOQYNfi+uCeDf5WO0SoDh4+kyFyrwf/a/nDXViWb cdZ6G7XnnUK/oAGDMV38TpkoB03Ifmp/dlq5J92Gz7a79nN68Y1O9cugqoPzrgFoJNe4cW iH07YDrbeqzUrA/43JVXWplK6qYvfXpXAzbuHG3bziVhmffer9pDyYKCeXdt1gTibhDrZZ E73qpfjYRiDcSQPTXK+PfRhw4l8Tn7Q8/mJaOGihxIMZ2Kn6uEcwOVtAbRNNSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773444694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZAUWn0BMBCNuHlR6MP/YGkhfIkFiao8otA69PzIR29c=; b=Wp0fKCOQzVuqYRcffnGQy2or3QB+SiiJuz2QTpkPc8oxIFOjuR/FMG5a3F/l/SMn/REdR9 V4/LK5X4GQ+9WmgXIkOPgnlINyOWGWCnFHAN6XdLdJhaXwPoA+ca465dyZTiJLgBEb8FYp ySuHw4tpRQME0AjaVUQOR0Lj96Vb5R6bYh90nQ4MzvrZ+VstELMTjjMxdbc4aKguP8s+IW qE8lUql/lPNsmrfgZ/lUVMskE0daTeXrcCAS71AVDyvTZZ7BHd+i0Dxxww0pAI6zwBPQ9s w1I/Cu45uAktM3H3HzfqgvyYz5KhhRYlryB35H9XP+Ho2Rrye8Rn12lh9uGDkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXgjf3X1qztHY for ; Fri, 13 Mar 2026 23:31:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2116f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 23:31:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: eb0a78f6cef0 - main - x86 FRED: add CPUID, MSR, and CR4 bits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: eb0a78f6cef0c2924b565d7c297cb08bb4de7cb0 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 23:31:34 +0000 Message-Id: <69b49e56.2116f.1c52bb7c@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=eb0a78f6cef0c2924b565d7c297cb08bb4de7cb0 commit eb0a78f6cef0c2924b565d7c297cb08bb4de7cb0 Author: Konstantin Belousov AuthorDate: 2026-02-07 10:22:22 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-13 23:30:27 +0000 x86 FRED: add CPUID, MSR, and CR4 bits Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55810 --- sys/x86/include/specialreg.h | 23 +++++++++++++++++++++++ sys/x86/x86/identcpu.c | 11 +++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 3e5f598cd82a..4eb4f2c398b2 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -91,6 +91,7 @@ #define CR4_LASS 0x08000000 /* Linear Address Space Separation */ #define CR4_LAM_SUP 0x10000000 /* Linear-Address Masking for Supervisor */ +#define CR4_FRED 0x100000000ull /* FRED */ /* * Bits in AMD64 special registers. EFER is 64 bits wide. @@ -549,6 +550,10 @@ * CPUID instruction 7 Structured Extended Features, leaf 1 eax info */ #define CPUID_STDEXT4_LASS 0x00000040 +#define CPUID_STDEXT4_FRED 0x00020000 +#define CPUID_STDEXT4_LKGS 0x00040000 +#define CPUID_STDEXT4_WRMSRNS 0x00080000 +#define CPUID_STDEXT4_NMISRC 0x00100000 #define CPUID_STDEXT4_LAM 0x04000000 /* CPUID_HYBRID_ID leaf 0x1a */ @@ -644,6 +649,15 @@ #define MSR_IA32_ENERGY_PERF_BIAS 0x1b0 #define MSR_IA32_PKG_THERM_STATUS 0x1b1 #define MSR_IA32_PKG_THERM_INTERRUPT 0x1b2 +#define MSR_FRED_RSP0 0x1cc +#define MSR_FRED_RSP1 0x1cd +#define MSR_FRED_RSP2 0x1ce +#define MSR_FRED_RSP3 0x1cf +#define MSR_FRED_STKLVLS 0x1d0 +#define MSR_FRED_SSP1 0x1d1 +#define MSR_FRED_SSP2 0x1d2 +#define MSR_FRED_SSP3 0x1d3 +#define MSR_FRED_CONFIG 0x1d4 #define MSR_DEBUGCTLMSR 0x1d9 #define MSR_LASTBRANCHFROMIP 0x1db #define MSR_LASTBRANCHTOIP 0x1dc @@ -925,6 +939,15 @@ /* MSR IA32_PKG_THERM_INTERRUPT */ #define IA32_PKG_THERM_INTERRUPT_HFI_ENABLE (0x1ULL << 25) +/* MSR IA32_FRED_CONFIG */ +#define IA32_FRED_CONFIG_CSL_MASK 0x00000003 +#define IA32_FRED_CONFIG_DECR_SSP 0x00000008 +#define IA32_FRED_CONFIG_REDZONESZ_MASK 0x000000e0 +#define IA32_FRED_CONFIG_REDZONESZ_SHIFT 6 +#define IA32_FRED_CONFIG_REDZONESZ_MULT 64 +#define IA32_FRED_CONFIG_EXTINT_SLC_MASK 0x00000600 +#define IA32_FRED_CONFIG_EXTINT_SLC_SHIFT 9 + /* * PAT modes. */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 7661c82f4394..7e0ccc72f7bb 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -1046,16 +1046,19 @@ printcpuinfo(void) "\040SSBD" ); } -#define STDEXT4_MASK (CPUID_STDEXT4_LASS | CPUID_STDEXT4_LAM) - if ((cpu_stdext_feature4 & STDEXT4_MASK) != 0) { + + if (cpu_stdext_feature4 != 0) { printf("\n Structured Extended Features4=0x%b", - cpu_stdext_feature4 & STDEXT4_MASK, + cpu_stdext_feature4, "\020" "\007LASS" + "\022FRED" + "\023LKGS" + "\024WRMSRNS" + "\025NMISRC" "\033LAM" ); } -#undef STDEXT4_MASK if ((cpu_feature2 & CPUID2_XSAVE) != 0) { cpuid_count(0xd, 0x1, regs); From nobody Fri Mar 13 23:50:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXh7Y1lZNz6W05J for ; Fri, 13 Mar 2026 23:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXh7Y1K3zz41xk for ; Fri, 13 Mar 2026 23:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773445833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZbfSE/ZyEaP+0vkX93bLRXyjEKpjUSoCaovcj7AgV4=; b=YqZt9hPe8UYC8YRcl3xTKYVE7EYF6wsDOJHfO6Up8rKWp6ZutHmdGeBsMYDr7icho4GWgB y7QkghkDSBSlE1dmHl7QteOMred+KC0VleEFFGJ52OQNIIH9382+wGsaWZlPNNa+v7/FQq FqapIyEYSA+P6MwXE6ex6ivkIPdl/8/tI2sBy+CGJOpB4d7h7MkE9rx1BfpXxYO6X5LM61 tDLRolVl9L4j6SWTHyIWJG6/9k2+pnowIbaZi/eRi+D2r1gvQFiu6JTWxFpPCAfQnWARBE RK0Jjc3wc18Rtsal2vkaWx53jMxv+lb2Xk0tWaLx6HdECu3f5ZZmdCEPhfOxoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773445833; a=rsa-sha256; cv=none; b=tvdcRxmhQ9fsjyAzLdnn2BFBb6VZcdJ90wO2+Z5ps2aZrGLP5LZ0KjMUhhnaN0ftogEmk6 9PJxm6IbdsxBVlZVvZ/poeDdedTjnTTFcBKenQ/2EDRavLtguYC8wGKA8t2KNpUYTROAHr 5IgBumh2X6lOn0yL8OY8OYbHIqXwZ+IJi8+kjEj02jT6xdTU2mNIBpRhcQGEb+7op9R04n V3m4rmvsqm/TL22GmZc2t5dlQWK6t7PFVYbVqP+1pb7oyO5zTbFjo5MctOxJTiiN/bXwl7 /MtWnCDvS8xd3UN5D/1EFf5BBYl9cfxoIvjZaFG0Jpu9WYDIty9OGu3I7vQ8gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773445833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MZbfSE/ZyEaP+0vkX93bLRXyjEKpjUSoCaovcj7AgV4=; b=NCSPrmdMlnsJ7dJzeadd9XqNOjr2tO0I0v+Y1xyBXK0LH3GZ3tSsULY8aV1qVKmS3wghXK Rh4GS7rYgogmtRbdnymsaZh/ehcmIIbwq24+15omPbYRQqdJQUAlK00AStvIuX5UJ94JVy gkoUbEYkVXptTK5endptQfaiep2jNx1agCJe9ksraXaey73DebQatI6wYnS3kDkORhGEMg 8kc5kMvAMzLqncypMgWO6Nyvz6AXHvy1HR2h9dQtsDRPrszxSGq1YzKJYcdNwcdu8pxg8X IoIowtBZmPQkBX8G8o/dKeCWH21TvoDC3zUWgkJOpZtys+QebggtLdcwj5pSpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXh7Y0pmqztfN for ; Fri, 13 Mar 2026 23:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23dd9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 23:50:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 7aa1dba6b00c - main - MFV: zlib 1.3.2. List-Id: Commit messages for the main 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7aa1dba6b00ccfb7d66627badc8a7aaa06b02946 Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 23:50:32 +0000 Message-Id: <69b4a2c8.23dd9.9e7d214@gitrepo.freebsd.org> The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=7aa1dba6b00ccfb7d66627badc8a7aaa06b02946 commit 7aa1dba6b00ccfb7d66627badc8a7aaa06b02946 Merge: eb0a78f6cef0 280d433d4c13 Author: Xin LI AuthorDate: 2026-03-13 23:49:53 +0000 Commit: Xin LI CommitDate: 2026-03-13 23:49:53 +0000 MFV: zlib 1.3.2. Relnotes: yes MFC after: 2 weeks lib/libz/Symbol.map | 13 + lib/libz/Versions.def | 6 + sys/contrib/zlib/ChangeLog | 51 +++ sys/contrib/zlib/FAQ | 46 +- sys/contrib/zlib/LICENSE | 2 +- sys/contrib/zlib/README | 28 +- sys/contrib/zlib/compress.c | 44 +- sys/contrib/zlib/contrib/README.contrib | 57 --- sys/contrib/zlib/contrib/gcc_gvmat64/gvmat64.S | 574 ------------------------- sys/contrib/zlib/crc32.c | 164 +++---- sys/contrib/zlib/deflate.c | 176 +++++--- sys/contrib/zlib/deflate.h | 8 +- sys/contrib/zlib/doc/algorithm.txt | 2 +- sys/contrib/zlib/gzguts.h | 64 +-- sys/contrib/zlib/gzlib.c | 103 +++-- sys/contrib/zlib/gzread.c | 296 ++++++++----- sys/contrib/zlib/gzwrite.c | 267 +++++++----- sys/contrib/zlib/infback.c | 87 +--- sys/contrib/zlib/inffast.c | 13 +- sys/contrib/zlib/inffixed.h | 182 ++++---- sys/contrib/zlib/inflate.c | 189 ++------ sys/contrib/zlib/inflate.h | 2 +- sys/contrib/zlib/inftrees.c | 143 +++++- sys/contrib/zlib/inftrees.h | 4 +- sys/contrib/zlib/test/example.c | 14 +- sys/contrib/zlib/test/infcover.c | 10 +- sys/contrib/zlib/test/minigzip.c | 89 ++-- sys/contrib/zlib/trees.c | 28 +- sys/contrib/zlib/uncompr.c | 62 ++- sys/contrib/zlib/zconf.h | 54 ++- sys/contrib/zlib/zconf.h.in | 46 +- sys/contrib/zlib/zlib.3 | 22 +- sys/contrib/zlib/zlib.h | 309 +++++++++---- sys/contrib/zlib/zlib.map | 16 + sys/contrib/zlib/zlib.pc.in | 1 + sys/contrib/zlib/zutil.c | 84 ++-- sys/contrib/zlib/zutil.h | 99 ++++- 37 files changed, 1613 insertions(+), 1742 deletions(-) diff --cc lib/libz/Symbol.map index 7bfe7cceda77,000000000000..5df1d5253f91 mode 100644,000000..100644 --- a/lib/libz/Symbol.map +++ b/lib/libz/Symbol.map @@@ -1,114 -1,0 +1,127 @@@ +/* + */ + +ZLIB_1.2.12 { + crc32_combine_gen; + crc32_combine_gen64; + crc32_combine_op; +}; + ++ZLIB_1.3.1.2 { ++ deflateUsed; ++}; ++ ++ZLIB_1.3.2 { ++ compressBound_z; ++ compress_z; ++ compress2_z; ++ deflateBound_z; ++ uncompress_z; ++ uncompress2_z; ++}; ++ +ZLIB_1.2.9 { + inflateCodesUsed; + inflateValidate; + uncompress2; + gzfread; + gzfwrite; + deflateGetDictionary; + adler32_z; + crc32_z; +}; + +ZLIB_1.2.7.1 { + inflateGetDictionary; + gzvprintf; +}; + +ZLIB_1.2.7.0 { + deflatePending; + deflateResetKeep; + gzgetc_; + inflateResetKeep; +}; + +ZLIB_1.2.4.0 { + adler32; + adler32_combine; + adler32_combine64; + compress; + compress2; + compressBound; + crc32; + crc32_combine; + crc32_combine64; + deflate; + deflateBound; + deflateCopy; + deflateEnd; + deflateInit2_; + deflateInit_; + deflateParams; + deflatePrime; + deflateReset; + deflateSetDictionary; + deflateSetHeader; + deflateTune; + get_crc_table; + gzbuffer; + gzclearerr; + gzclose; + gzclose_r; + gzclose_w; + gzdirect; + gzdopen; + gzeof; + gzerror; + gzflush; + gzgetc; + gzgets; + gzoffset; + gzoffset64; + gzopen; + gzopen64; + gzprintf; + gzputc; + gzputs; + gzread; + gzrewind; + gzseek; + gzseek64; + gzsetparams; + gztell; + gztell64; + gzungetc; + gzwrite; + inflate; + inflateBack; + inflateBackEnd; + inflateBackInit_; + inflateCopy; + inflateEnd; + inflateGetHeader; + inflateInit2_; + inflateInit_; + inflateMark; + inflatePrime; + inflateReset; + inflateReset2; + inflateSetDictionary; + inflateSync; + inflateSyncPoint; + inflateUndermine; + uncompress; + zError; + zlibCompileFlags; + zlibVersion; +}; + +FBSD_1.2 { + zopen; +}; + +FBSD_1.6 { + zdopen; +}; + diff --cc lib/libz/Versions.def index 2ee0106b5bfe,000000000000..73b197240a4c mode 100644,000000..100644 --- a/lib/libz/Versions.def +++ b/lib/libz/Versions.def @@@ -1,22 -1,0 +1,28 @@@ + +ZLIB_1.2.4.0 { +}; + +ZLIB_1.2.7.0 { +} ZLIB_1.2.4.0; + +ZLIB_1.2.7.1 { +} ZLIB_1.2.7.0; + +ZLIB_1.2.9 { +} ZLIB_1.2.7.1; + +ZLIB_1.2.12 { +} ZLIB_1.2.9; + ++ZLIB_1.3.1.2 { ++} ZLIB_1.2.12; ++ ++ZLIB_1.3.2 { ++} ZLIB_1.3.1.2; ++ +FBSD_1.2 { +} ZLIB_1.2.4.0; + +FBSD_1.6 { +} FBSD_1.2; + diff --cc sys/contrib/zlib/deflate.c index 97b184a82868,000000000000..e782ad519721 mode 100644,000000..100644 --- a/sys/contrib/zlib/deflate.c +++ b/sys/contrib/zlib/deflate.c @@@ -1,2141 -1,0 +1,2187 @@@ +/* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler ++ * Copyright (C) 1995-2026 Jean-loup Gailly and Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* + * ALGORITHM + * + * The "deflation" process depends on being able to identify portions + * of the input text which are identical to earlier input (within a + * sliding window trailing behind the input currently being processed). + * + * The most straightforward technique turns out to be the fastest for + * most input files: try all possible matches and select the longest. + * The key feature of this algorithm is that insertions into the string + * dictionary are very simple and thus fast, and deletions are avoided + * completely. Insertions are performed at each input character, whereas + * string matches are performed only when the previous match ends. So it + * is preferable to spend more time in matches to allow very fast string + * insertions and avoid deletions. The matching algorithm for small + * strings is inspired from that of Rabin & Karp. A brute force approach + * is used to find longer strings when a small match has been found. + * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze + * (by Leonid Broukhis). + * A previous version of this file used a more sophisticated algorithm + * (by Fiala and Greene) which is guaranteed to run in linear amortized + * time, but has a larger average cost, uses more memory and is patented. + * However the F&G algorithm may be faster for some highly redundant + * files if the parameter max_chain_length (described below) is too large. + * + * ACKNOWLEDGEMENTS + * + * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and + * I found it in 'freeze' written by Leonid Broukhis. + * Thanks to many people for bug reports and testing. + * + * REFERENCES + * + * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification". - * Available in http://tools.ietf.org/html/rfc1951 ++ * Available at https://datatracker.ietf.org/doc/html/rfc1951 + * + * A description of the Rabin and Karp algorithm is given in the book + * "Algorithms" by R. Sedgewick, Addison-Wesley, p252. + * + * Fiala,E.R., and Greene,D.H. + * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595 + * + */ + +/* @(#) $Id$ */ + +#include "deflate.h" + +const char deflate_copyright[] = - " deflate 1.3.1 Copyright 1995-2024 Jean-loup Gailly and Mark Adler "; ++ " deflate 1.3.2 Copyright 1995-2026 Jean-loup Gailly and Mark Adler "; +/* + If you use the zlib library in a product, an acknowledgment is welcome + in the documentation of your product. If for some reason you cannot + include such an acknowledgment, I would appreciate that you keep this + copyright string in the executable of your product. + */ + +typedef enum { + need_more, /* block not completed, need more input or more output */ + block_done, /* block flush performed */ + finish_started, /* finish started, need only more output at next deflate */ + finish_done /* finish done, accept no more input or output */ +} block_state; + +typedef block_state (*compress_func)(deflate_state *s, int flush); +/* Compression function. Returns the block state after the call. */ + +local block_state deflate_stored(deflate_state *s, int flush); +local block_state deflate_fast(deflate_state *s, int flush); +#ifndef FASTEST +local block_state deflate_slow(deflate_state *s, int flush); +#endif +local block_state deflate_rle(deflate_state *s, int flush); +local block_state deflate_huff(deflate_state *s, int flush); + +/* =========================================================================== + * Local data + */ + +#define NIL 0 +/* Tail of hash chains */ + +#ifndef TOO_FAR +# define TOO_FAR 4096 +#endif +/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */ + +/* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ +typedef struct config_s { + ush good_length; /* reduce lazy search above this match length */ + ush max_lazy; /* do not perform lazy search above this match length */ + ush nice_length; /* quit search above this match length */ + ush max_chain; + compress_func func; +} config; + +#ifdef FASTEST +local const config configuration_table[2] = { +/* good lazy nice chain */ +/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ +/* 1 */ {4, 4, 8, 4, deflate_fast}}; /* max speed, no lazy matches */ +#else +local const config configuration_table[10] = { +/* good lazy nice chain */ +/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ +/* 1 */ {4, 4, 8, 4, deflate_fast}, /* max speed, no lazy matches */ +/* 2 */ {4, 5, 16, 8, deflate_fast}, +/* 3 */ {4, 6, 32, 32, deflate_fast}, + +/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */ +/* 5 */ {8, 16, 32, 32, deflate_slow}, +/* 6 */ {8, 16, 128, 128, deflate_slow}, +/* 7 */ {8, 32, 128, 256, deflate_slow}, +/* 8 */ {32, 128, 258, 1024, deflate_slow}, +/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* max compression */ +#endif + +/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4 + * For deflate_fast() (levels <= 3) good is ignored and lazy has a different + * meaning. + */ + +/* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */ +#define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0)) + +/* =========================================================================== + * Update a hash value with the given input byte + * IN assertion: all calls to UPDATE_HASH are made with consecutive input + * characters, so that a running hash key can be computed from the previous + * key instead of complete recalculation each time. + */ +#define UPDATE_HASH(s,h,c) (h = (((h) << s->hash_shift) ^ (c)) & s->hash_mask) + + +/* =========================================================================== + * Insert string str in the dictionary and set match_head to the previous head + * of the hash chain (the most recent string with same hash key). Return + * the previous length of the hash chain. + * If this file is compiled with -DFASTEST, the compression level is forced + * to 1, and no hash chains are maintained. + * IN assertion: all calls to INSERT_STRING are made with consecutive input + * characters and the first MIN_MATCH bytes of str are valid (except for + * the last MIN_MATCH-1 bytes of the input file). + */ +#ifdef FASTEST +#define INSERT_STRING(s, str, match_head) \ + (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ + match_head = s->head[s->ins_h], \ + s->head[s->ins_h] = (Pos)(str)) +#else +#define INSERT_STRING(s, str, match_head) \ + (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ + match_head = s->prev[(str) & s->w_mask] = s->head[s->ins_h], \ + s->head[s->ins_h] = (Pos)(str)) +#endif + +/* =========================================================================== + * Initialize the hash table (avoiding 64K overflow for 16 bit systems). + * prev[] will be initialized on the fly. + */ +#define CLEAR_HASH(s) \ + do { \ + s->head[s->hash_size - 1] = NIL; \ - zmemzero((Bytef *)s->head, \ - (unsigned)(s->hash_size - 1)*sizeof(*s->head)); \ ++ zmemzero(s->head, (unsigned)(s->hash_size - 1)*sizeof(*s->head)); \ ++ s->slid = 0; \ + } while (0) + +/* =========================================================================== + * Slide the hash table when sliding the window down (could be avoided with 32 + * bit values at the expense of memory usage). We slide even when level == 0 to + * keep the hash table consistent if we switch back to level > 0 later. + */ +#if defined(__has_feature) +# if __has_feature(memory_sanitizer) + __attribute__((no_sanitize("memory"))) +# endif +#endif +local void slide_hash(deflate_state *s) { + unsigned n, m; + Posf *p; + uInt wsize = s->w_size; + + n = s->hash_size; + p = &s->head[n]; + do { + m = *--p; + *p = (Pos)(m >= wsize ? m - wsize : NIL); + } while (--n); - n = wsize; +#ifndef FASTEST ++ n = wsize; + p = &s->prev[n]; + do { + m = *--p; + *p = (Pos)(m >= wsize ? m - wsize : NIL); + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + } while (--n); +#endif ++ s->slid = 1; +} + +/* =========================================================================== + * Read a new buffer from the current input stream, update the adler32 + * and total number of bytes read. All deflate() input goes through + * this function so some applications may wish to modify it to avoid + * allocating a large strm->next_in buffer and copying from it. + * (See also flush_pending()). + */ +local unsigned read_buf(z_streamp strm, Bytef *buf, unsigned size) { + unsigned len = strm->avail_in; + + if (len > size) len = size; + if (len == 0) return 0; + + strm->avail_in -= len; + + zmemcpy(buf, strm->next_in, len); + if (strm->state->wrap == 1) { + strm->adler = adler32(strm->adler, buf, len); + } +#ifdef GZIP + else if (strm->state->wrap == 2) { + strm->adler = crc32(strm->adler, buf, len); + } +#endif + strm->next_in += len; + strm->total_in += len; + + return len; +} + +/* =========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead. + * + * IN assertion: lookahead < MIN_LOOKAHEAD + * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD + * At least one byte has been read, or avail_in == 0; reads are + * performed for at least two bytes (required for the zip translate_eol + * option -- not supported here). + */ +local void fill_window(deflate_state *s) { + unsigned n; + unsigned more; /* Amount of free space at the end of the window. */ + uInt wsize = s->w_size; + + Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); + + do { + more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart); + + /* Deal with !@#$% 64K limit: */ ++#ifdef _MSC_VER ++#pragma warning(push) ++#pragma warning(disable: 4127) ++#endif + if (sizeof(int) <= 2) { ++#ifdef _MSC_VER ++#pragma warning(pop) ++#endif + if (more == 0 && s->strstart == 0 && s->lookahead == 0) { + more = wsize; + + } else if (more == (unsigned)(-1)) { + /* Very unlikely, but possible on 16 bit machine if + * strstart == 0 && lookahead == 1 (input done a byte at time) + */ + more--; + } + } + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (s->strstart >= wsize + MAX_DIST(s)) { + + zmemcpy(s->window, s->window + wsize, (unsigned)wsize - more); + s->match_start -= wsize; + s->strstart -= wsize; /* we now have strstart >= MAX_DIST */ + s->block_start -= (long) wsize; + if (s->insert > s->strstart) + s->insert = s->strstart; + slide_hash(s); + more += wsize; + } + if (s->strm->avail_in == 0) break; + + /* If there was no sliding: + * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && + * more == window_size - lookahead - strstart + * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) + * => more >= window_size - 2*WSIZE + 2 + * In the BIG_MEM or MMAP case (not yet supported), + * window_size == input_size + MIN_LOOKAHEAD && + * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. + * Otherwise, window_size == 2*WSIZE so more >= 2. + * If there was sliding, more >= WSIZE. So in all cases, more >= 2. + */ + Assert(more >= 2, "more < 2"); + + n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more); + s->lookahead += n; + + /* Initialize the hash value now that we have some input: */ + if (s->lookahead + s->insert >= MIN_MATCH) { + uInt str = s->strstart - s->insert; + s->ins_h = s->window[str]; + UPDATE_HASH(s, s->ins_h, s->window[str + 1]); +#if MIN_MATCH != 3 + Call UPDATE_HASH() MIN_MATCH-3 more times +#endif + while (s->insert) { + UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); +#ifndef FASTEST + s->prev[str & s->w_mask] = s->head[s->ins_h]; +#endif + s->head[s->ins_h] = (Pos)str; + str++; + s->insert--; + if (s->lookahead + s->insert < MIN_MATCH) + break; + } + } + /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, + * but this is not important since only literal bytes will be emitted. + */ + + } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); + + /* If the WIN_INIT bytes after the end of the current data have never been + * written, then zero those bytes in order to avoid memory check reports of + * the use of uninitialized (or uninitialised as Julian writes) bytes by + * the longest match routines. Update the high water mark for the next + * time through here. WIN_INIT is set to MAX_MATCH since the longest match + * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. + */ + if (s->high_water < s->window_size) { + ulg curr = s->strstart + (ulg)(s->lookahead); + ulg init; + + if (s->high_water < curr) { + /* Previous high water mark below current data -- zero WIN_INIT + * bytes or up to end of window, whichever is less. + */ + init = s->window_size - curr; + if (init > WIN_INIT) + init = WIN_INIT; + zmemzero(s->window + curr, (unsigned)init); + s->high_water = curr + init; + } + else if (s->high_water < (ulg)curr + WIN_INIT) { + /* High water mark at or above current data, but below current data + * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up + * to end of window, whichever is less. + */ + init = (ulg)curr + WIN_INIT - s->high_water; + if (init > s->window_size - s->high_water) + init = s->window_size - s->high_water; + zmemzero(s->window + s->high_water, (unsigned)init); + s->high_water += init; + } + } + + Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, + "not enough room for search"); +} + +/* ========================================================================= */ +int ZEXPORT deflateInit_(z_streamp strm, int level, const char *version, + int stream_size) { + return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, version, stream_size); + /* To do: ignore strm->next_in if we use it as window */ +} + +/* ========================================================================= */ +int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, + int windowBits, int memLevel, int strategy, + const char *version, int stream_size) { + deflate_state *s; + int wrap = 1; + static const char my_version[] = ZLIB_VERSION; + + if (version == Z_NULL || version[0] != my_version[0] || + stream_size != sizeof(z_stream)) { + return Z_VERSION_ERROR; + } + if (strm == Z_NULL) return Z_STREAM_ERROR; + + strm->msg = Z_NULL; + if (strm->zalloc == (alloc_func)0) { +#if defined(Z_SOLO) && !defined(_KERNEL) + return Z_STREAM_ERROR; +#else + strm->zalloc = zcalloc; + strm->opaque = (voidpf)0; +#endif + } + if (strm->zfree == (free_func)0) +#if defined(Z_SOLO) && !defined(_KERNEL) + return Z_STREAM_ERROR; +#else + strm->zfree = zcfree; +#endif + +#ifdef FASTEST + if (level != 0) level = 1; +#else + if (level == Z_DEFAULT_COMPRESSION) level = 6; +#endif + + if (windowBits < 0) { /* suppress zlib wrapper */ + wrap = 0; + if (windowBits < -15) + return Z_STREAM_ERROR; + windowBits = -windowBits; + } +#ifdef GZIP + else if (windowBits > 15) { + wrap = 2; /* write gzip wrapper instead */ + windowBits -= 16; + } +#endif + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || + windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || + strategy < 0 || strategy > Z_FIXED || (windowBits == 8 && wrap != 1)) { + return Z_STREAM_ERROR; + } + if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ + s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state)); + if (s == Z_NULL) return Z_MEM_ERROR; ++ zmemzero(s, sizeof(deflate_state)); + strm->state = (struct internal_state FAR *)s; + s->strm = strm; + s->status = INIT_STATE; /* to pass state test in deflateReset() */ + + s->wrap = wrap; + s->gzhead = Z_NULL; + s->w_bits = (uInt)windowBits; + s->w_size = 1 << s->w_bits; + s->w_mask = s->w_size - 1; + + s->hash_bits = (uInt)memLevel + 7; + s->hash_size = 1 << s->hash_bits; + s->hash_mask = s->hash_size - 1; + s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH); + + s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte)); + s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); + s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); + + s->high_water = 0; /* nothing written to s->window yet */ + + s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + + /* We overlay pending_buf and sym_buf. This works since the average size + * for length/distance pairs over any compressed block is assured to be 31 + * bits or less. + * + * Analysis: The longest fixed codes are a length code of 8 bits plus 5 + * extra bits, for lengths 131 to 257. The longest fixed distance codes are + * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest + * possible fixed-codes length/distance pair is then 31 bits total. + * + * sym_buf starts one-fourth of the way into pending_buf. So there are + * three bytes in sym_buf for every four bytes in pending_buf. Each symbol + * in sym_buf is three bytes -- two for the distance and one for the + * literal/length. As each symbol is consumed, the pointer to the next + * sym_buf value to read moves forward three bytes. From that symbol, up to + * 31 bits are written to pending_buf. The closest the written pending_buf + * bits gets to the next sym_buf symbol to read is just before the last + * code is written. At that time, 31*(n - 2) bits have been written, just + * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at + * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1 + * symbols are written.) The closest the writing gets to what is unread is + * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and + * can range from 128 to 32768. + * + * Therefore, at a minimum, there are 142 bits of space between what is + * written and what is read in the overlain buffers, so the symbols cannot + * be overwritten by the compressed data. That space is actually 139 bits, + * due to the three-bit fixed-code block header. + * + * That covers the case where either Z_FIXED is specified, forcing fixed + * codes, or when the use of fixed codes is chosen, because that choice + * results in a smaller compressed block than dynamic codes. That latter + * condition then assures that the above analysis also covers all dynamic + * blocks. A dynamic-code block will only be chosen to be emitted if it has + * fewer bits than a fixed-code block would for the same set of symbols. + * Therefore its average symbol length is assured to be less than 31. So + * the compressed data for a dynamic block also cannot overwrite the + * symbols from which it is being constructed. + */ + + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS); + s->pending_buf_size = (ulg)s->lit_bufsize * 4; + + if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || + s->pending_buf == Z_NULL) { + s->status = FINISH_STATE; + strm->msg = ERR_MSG(Z_MEM_ERROR); + deflateEnd (strm); + return Z_MEM_ERROR; + } +#ifdef LIT_MEM + s->d_buf = (ushf *)(s->pending_buf + (s->lit_bufsize << 1)); + s->l_buf = s->pending_buf + (s->lit_bufsize << 2); + s->sym_end = s->lit_bufsize - 1; +#else + s->sym_buf = s->pending_buf + s->lit_bufsize; + s->sym_end = (s->lit_bufsize - 1) * 3; +#endif + /* We avoid equality with lit_bufsize*3 because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ + + s->level = level; + s->strategy = strategy; + s->method = (Byte)method; + + return deflateReset(strm); +} + +/* ========================================================================= + * Check for a valid deflate stream state. Return 0 if ok, 1 if not. + */ +local int deflateStateCheck(z_streamp strm) { + deflate_state *s; + if (strm == Z_NULL || + strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) + return 1; + s = strm->state; + if (s == Z_NULL || s->strm != strm || (s->status != INIT_STATE && +#ifdef GZIP + s->status != GZIP_STATE && +#endif + s->status != EXTRA_STATE && + s->status != NAME_STATE && + s->status != COMMENT_STATE && + s->status != HCRC_STATE && + s->status != BUSY_STATE && + s->status != FINISH_STATE)) + return 1; + return 0; +} + +/* ========================================================================= */ +int ZEXPORT deflateSetDictionary(z_streamp strm, const Bytef *dictionary, + uInt dictLength) { + deflate_state *s; + uInt str, n; + int wrap; + unsigned avail; + z_const unsigned char *next; + + if (deflateStateCheck(strm) || dictionary == Z_NULL) + return Z_STREAM_ERROR; + s = strm->state; + wrap = s->wrap; + if (wrap == 2 || (wrap == 1 && s->status != INIT_STATE) || s->lookahead) + return Z_STREAM_ERROR; + + /* when using zlib wrappers, compute Adler-32 for provided dictionary */ + if (wrap == 1) + strm->adler = adler32(strm->adler, dictionary, dictLength); + s->wrap = 0; /* avoid computing Adler-32 in read_buf */ + + /* if dictionary would fill window, just replace the history */ + if (dictLength >= s->w_size) { + if (wrap == 0) { /* already empty otherwise */ + CLEAR_HASH(s); + s->strstart = 0; + s->block_start = 0L; + s->insert = 0; + } + dictionary += dictLength - s->w_size; /* use the tail */ + dictLength = s->w_size; + } + + /* insert dictionary into window and hash */ + avail = strm->avail_in; + next = strm->next_in; + strm->avail_in = dictLength; + strm->next_in = (z_const Bytef *)dictionary; + fill_window(s); + while (s->lookahead >= MIN_MATCH) { + str = s->strstart; + n = s->lookahead - (MIN_MATCH-1); + do { + UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); +#ifndef FASTEST + s->prev[str & s->w_mask] = s->head[s->ins_h]; +#endif + s->head[s->ins_h] = (Pos)str; + str++; + } while (--n); + s->strstart = str; + s->lookahead = MIN_MATCH-1; + fill_window(s); + } + s->strstart += s->lookahead; + s->block_start = (long)s->strstart; + s->insert = s->lookahead; + s->lookahead = 0; + s->match_length = s->prev_length = MIN_MATCH-1; + s->match_available = 0; + strm->next_in = next; + strm->avail_in = avail; + s->wrap = wrap; + return Z_OK; +} + +/* ========================================================================= */ +int ZEXPORT deflateGetDictionary(z_streamp strm, Bytef *dictionary, + uInt *dictLength) { + deflate_state *s; + uInt len; + + if (deflateStateCheck(strm)) + return Z_STREAM_ERROR; + s = strm->state; + len = s->strstart + s->lookahead; + if (len > s->w_size) + len = s->w_size; + if (dictionary != Z_NULL && len) + zmemcpy(dictionary, s->window + s->strstart + s->lookahead - len, len); + if (dictLength != Z_NULL) + *dictLength = len; + return Z_OK; +} + +/* ========================================================================= */ +int ZEXPORT deflateResetKeep(z_streamp strm) { + deflate_state *s; + + if (deflateStateCheck(strm)) { + return Z_STREAM_ERROR; + } + + strm->total_in = strm->total_out = 0; + strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */ + strm->data_type = Z_UNKNOWN; + + s = (deflate_state *)strm->state; + s->pending = 0; + s->pending_out = s->pending_buf; + + if (s->wrap < 0) { + s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */ + } + s->status = +#ifdef GZIP + s->wrap == 2 ? GZIP_STATE : +#endif + INIT_STATE; + strm->adler = +#ifdef GZIP + s->wrap == 2 ? crc32(0L, Z_NULL, 0) : +#endif + adler32(0L, Z_NULL, 0); + s->last_flush = -2; + + _tr_init(s); + + return Z_OK; +} + +/* =========================================================================== + * Initialize the "longest match" routines for a new zlib stream + */ +local void lm_init(deflate_state *s) { + s->window_size = (ulg)2L*s->w_size; + + CLEAR_HASH(s); + + /* Set the default configuration parameters: + */ + s->max_lazy_match = configuration_table[s->level].max_lazy; + s->good_match = configuration_table[s->level].good_length; + s->nice_match = configuration_table[s->level].nice_length; + s->max_chain_length = configuration_table[s->level].max_chain; + + s->strstart = 0; + s->block_start = 0L; + s->lookahead = 0; + s->insert = 0; + s->match_length = s->prev_length = MIN_MATCH-1; + s->match_available = 0; + s->ins_h = 0; +} + +/* ========================================================================= */ +int ZEXPORT deflateReset(z_streamp strm) { + int ret; + + ret = deflateResetKeep(strm); + if (ret == Z_OK) + lm_init(strm->state); + return ret; +} + +/* ========================================================================= */ +int ZEXPORT deflateSetHeader(z_streamp strm, gz_headerp head) { + if (deflateStateCheck(strm) || strm->state->wrap != 2) + return Z_STREAM_ERROR; + strm->state->gzhead = head; + return Z_OK; +} + +/* ========================================================================= */ +int ZEXPORT deflatePending(z_streamp strm, unsigned *pending, int *bits) { + if (deflateStateCheck(strm)) return Z_STREAM_ERROR; - if (pending != Z_NULL) - *pending = strm->state->pending; + if (bits != Z_NULL) + *bits = strm->state->bi_valid; ++ if (pending != Z_NULL) { ++ *pending = (unsigned)strm->state->pending; ++ if (*pending != strm->state->pending) { ++ *pending = (unsigned)-1; ++ return Z_BUF_ERROR; ++ } ++ } ++ return Z_OK; ++} ++ ++/* ========================================================================= */ ++int ZEXPORT deflateUsed(z_streamp strm, int *bits) { ++ if (deflateStateCheck(strm)) return Z_STREAM_ERROR; ++ if (bits != Z_NULL) ++ *bits = strm->state->bi_used; + return Z_OK; +} + +/* ========================================================================= */ +int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) { + deflate_state *s; + int put; + + if (deflateStateCheck(strm)) return Z_STREAM_ERROR; + s = strm->state; +#ifdef LIT_MEM *** 6398 LINES SKIPPED *** From nobody Sat Mar 14 00:56:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXjbW076bz6W51f for ; Sat, 14 Mar 2026 00:56:23 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) (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 4fXjbT001Zz48d4 for ; Sat, 14 Mar 2026 00:56:20 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=DdG8060v; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::62e as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2ae5636ab04so29842295ad.3 for ; Fri, 13 Mar 2026 17:56:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773449775; x=1774054575; darn=freebsd.org; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=L+KhFTXCTM5qaCPB7gIqkmBGHTjFgHSyp37+3WEZPBA=; b=DdG8060ve+VOMB53nFkPHj+Z2FDOwHrUjwb1bzGJAmMx5lg31oKp2jnkqrWBGJE621 gdfA2ubJ4hMcgx65tqh+bgPtfADoxXKswXzG/U1+MG+2s8gBkmR6ScWGFgnPg6K1Kc7q 8dJgEVb+GXMAfET81AbRxb6X4/tKpJVDAIRjC9YjHOfsoJ9lCA3x85yX1qR0IlNFpqiu NwsisxZ2k7v574acyP7yQfSpbDhDGWbjHvihJNclFa9YDEg1UoGmpGm1Cu3RpBYo6Wgo fiGgyCE3ribUWtFhT2mZauQtU3zEjuNB4rTglHACMf2gTCslYwyrd3JOzb5LSODbqyiC t1+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773449775; x=1774054575; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L+KhFTXCTM5qaCPB7gIqkmBGHTjFgHSyp37+3WEZPBA=; b=BZT8j649iTAJuNssuTQI3Jm3szA512eZFDAsM0nU8yCEGBPllWQVWkxwrJYtpS8RlU xLBVREGst1A9Qm+yRXivzWz5i1BEBjMGzXDhgCpcp6AjwIzxwqzJBoXjx1tCJYbrS4qF rBR3ygaSEwBrt5hMYvkQPrgjgmZOHIlhu3ar2UEFgrzfFzSiUrmVu0Q8w4FuMcdjz0xW lE1U4ItAGLzD2sOvq7zKgZFVCynbptqaUEuRkGfuwS9jpbq3XpL3O4Ie07djeSCWWDna kx10+LvzYapOE9mHYqqGrIeHPuruTqpsgckQUyCZTnERysuuSl+YF+CN8LNlSoj7Wa5n YKcA== X-Forwarded-Encrypted: i=1; AJvYcCUkkK7pxTB3KKFJn5XwPI05Zf3Aiit8umdzT1KcX0f/Mei6hjuE8jImZIjBFnJv8Az2kIQYICpTXtSaNcHwUA8irvcVLQ==@freebsd.org X-Gm-Message-State: AOJu0YyfEfKm1AzsEuEbELEbybgOSiEu3+tEZVttybvbpI8B4Ul4OYgi 89rIokVRhRMy8WmLrWf9lqGd7NYPBmTz2elBGwrsqAliWUivr8E9aLhD X-Gm-Gg: ATEYQzxvAiPIVSXeQFw9T8f2ea/KkAeHZYOqtNDObNokHTFChpi+6G7lLVGd+MJc8k3 XxFO6lnodQZFadggFmrRG/QretrDXVv3lYEJzj5LTiidlvs6f9H3wn90m0UXcMrNrmV17IVtDRj uJYYBAQKpn0375HDogQKRMbvWk/rkbkgz0W6B7gWxvgegtW9rq65cmupJdhdB0wiXssfN3uORP/ 3hFyfX428wOEf266ug+EODF4COiGF772Be0olGpo6B36ROxouNs0nwI0r1GovXpkI6gWvACMk2G uo8TAFFOmVGX7zQvs7Fv3ZfzLn1FK8KuBx6qynWZk3rpdatUPekdmY+bv15QEO9LJovMGjiUWNK TMtXz3VkWWsE4AnbxZdtitAh8Dan3bJHbZYAuyawJ7lanBdLDiuQ/eJmZHU4zNwYdtA1BJOcyYy sFdA3ZF6OTX1XMhqpqkURUTrWYBbbC8amgP8LQrvJwmV8vIPnBix9T X-Received: by 2002:a17:902:d48a:b0:2ae:d3fa:6b3d with SMTP id d9443c01a7336-2aed3fa6c0dmr31203785ad.17.1773449774668; Fri, 13 Mar 2026 17:56:14 -0700 (PDT) Received: from smtpclient.apple ([185.153.179.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2aece81ac11sm33011575ad.67.2026.03.13.17.56.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Mar 2026 17:56:13 -0700 (PDT) Content-Type: multipart/signed; boundary="Apple-Mail=_39271C46-3531-4A29-851A-CB700DC010EC"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Commit messages for the main 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 \(3826.700.81.1.4\)) Subject: Re: git: 14b8a27883c1 - main - pciconf: Add a tree mode From: "Enji Cooper (yaneurabeya)" In-Reply-To: Date: Fri, 13 Mar 2026 17:56:01 -0700 Cc: John Baldwin , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: References: <69b04ca7.43a7d.58a4e367@gitrepo.freebsd.org> To: "Bjoern A. Zeeb" X-Mailer: Apple Mail (2.3826.700.81.1.4) X-Spamd-Result: default: False [-5.55 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; NEURAL_HAM_SHORT(-0.95)[-0.952]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; HAS_ATTACHMENT(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::62e:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Rspamd-Queue-Id: 4fXjbT001Zz48d4 X-Spamd-Bar: ----- --Apple-Mail=_39271C46-3531-4A29-851A-CB700DC010EC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 12, 2026, at 12:46=E2=80=AFPM, Bjoern A. Zeeb = wrote: >=20 > On Tue, 10 Mar 2026, John Baldwin wrote: >=20 >> The branch main has been updated by jhb: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D14b8a27883c15d3add3114f855eff7c6= bda1b015 >>=20 >> commit 14b8a27883c15d3add3114f855eff7c6bda1b015 >> Author: John Baldwin >> AuthorDate: 2026-03-10 16:51:00 +0000 >> Commit: John Baldwin >> CommitDate: 2026-03-10 16:51:00 +0000 >>=20 >> pciconf: Add a tree mode >>=20 >> This lists PCI devices in a hierarchy showing the parent/child >> relationship of PCI devices and bridges. While this is inspired by >> lspci -t output, the format is closer to ps -d and also prefers = using >> new-bus device names when possible. If a device does not have a >> driver, the PCI selector is output in place of the device name. >>=20 >> When the -v flag is given, the vendor and device ID strings are = output >> after the device name. If a string for an ID isn't found, the hex = ID >> values are output instead. >=20 > If this is what I enquired about in Dec 2023 then a HUGE THANK YOU for = this. >=20 > Can't wait to try this the next days on my 64 mPCIe arm64 machine. +1!!! Thank you jhb@ for doing this! -Enji= --Apple-Mail=_39271C46-3531-4A29-851A-CB700DC010EC Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmm0siIACgkQGpE5DjPs NJjFzg/8D1jhH+xiuu4uem/KDZjCCUEzWc1spSRlLAutr4NX6cYaXkiK52V9Zp32 FxhQoVe38hHcxHS2q+Iz2jvmtxWTttsvugiCBxbjGqz1ptqRP0xZn1lj8/71aPd7 WaTNfwKR55Ygs+FHYf3WQ0fZDroIhoKe5eE5IhDj5KDUmgAld4jMl+iK9FaEq1QF a+yrZNNdo7LLRDDkibCr647l/swUT271LlNtHlI27e0pJgIc7bur2Ic3oKgof8SX 377CbEBPK6wuK4Q0SjXzodi5Kz/gz5TAtHmalDEZT8k7jwAFDp6mIa6G8HLyEMIS ma30rkyVoivKgqC8Ekte9o2TaYBJh/Rkkrmo91v6kW9X9Fi6rmx+A2vOEfrX8+Gw fgbaZquPw5SUi3VwdyYZoS3h6mG4dwTzN7Gl6/jKXMux4uKSDiHIZoP/C/iA4iON 76kZ3SlKWLplrjdy3U/nVJWTh0RU58lCv3vpK+PD1JvMxo9X04WoplPDhiLARAzh 22JBekTISyC3ZfeK9kiEXY3OCTrqYDxowtrvNpUfYwsyWBfkg1HAWZPrwpzM4N+Y /TmTTgdm4LDKwhi16C6wJ0ca0SXfiXmVd8oq//tezKKrpsoIu8U+FJ80Xf2GZCU5 ERJfM3h5u0HFok6WlAbNDZAtU3F24IN5GIfGvdhblNyb0I8+6Tg= =HfSe -----END PGP SIGNATURE----- --Apple-Mail=_39271C46-3531-4A29-851A-CB700DC010EC-- From nobody Sat Mar 14 04:05:47 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXnp36RB9z6V6M3 for ; Sat, 14 Mar 2026 04:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXnp35qP6z3F9h for ; Sat, 14 Mar 2026 04:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773461147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIiYdRAVt6EaskVHkhXFv14HAT6RRpEFXRiMFc7idiw=; b=hGt6Z4JkhuVeuX4QviLoA6TllJkFJRCEq7y9l8S9zpcGLrnjs2jgoSNh1RU5PxwABSGLTs pCOKPdQwqZKzuDJecU0OjJI83oxw6wt/9m4SjdcVf/KdztC27TP6svvTyb3iJHO3UWZvAj p1gf1dDC3RWUgW738vDtHtGDoNkhXYDfjGXkOHQAWoI7cpxc0BFGqn4R/wOKMW05NlXq8l x9rqfwXX1veLbMCowY/bBFiGd/nCkKQqZn9LFBxb80Q1L905taAqOe0M75TZs2xBY5l5bf 3CBDjr8Z9j2FqZipso/w8eeyHUwYPyfUXIvNVvMtO0ItkzSLWej2CmvwjIY+0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773461147; a=rsa-sha256; cv=none; b=UFGUaxtFmIDNUvTisiF37Ry05/MmRzw9Rcmdto/R1zvb0LxXfrNdYG1jWTcFvYp9OfQo/H JcusfPwWk0bikY9MRF5UJhG/EBfO805n6DI742g/J/LbY9P4G7+yKXiBdkI6CJGgc528lt T84x5B6GRas4tW/pd90AU6Z2AONIFiQd6kJMOYMMweoflqcEXGI87F1MDHifpgKT+3D9li WVuJebZaeFBXb5aSjApaXV/HB7oQtkw9MR6XwBnwZFb0tYv9W81aHrv5l/P8T8cxJMdeoQ MjojQeSA7rxUmFKiEWY3y4YU8idSOkN79WgSo+oxtVhokAhtBmfGmXoRqJsp9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773461147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XIiYdRAVt6EaskVHkhXFv14HAT6RRpEFXRiMFc7idiw=; b=LoUGouAIM4YTv+CIf9UFwJFZ47whqryvpft67URl0d1gxaB6Je3Hn5qihhXX5ybst1ytx0 Od8k9lds4IaLooQE6vZAyyTDb4gDUxkNHClUjRz9dMU4XdgcBNdiS/M349WwdS43jArYEM TFPhDOLupWwp2Hm29ZBfuwDcq6eMK8qSRZsb6EhlXdCHbk6BsvZHjD1LBrADD5mDTrIRKx 6uCGPXepqjDZ/zk4Enz9OH7ViGL++VDW0XRjJ8/MBRuIkaKxVpwtbozKmSb110wShfkaEF bxRBcuPpbd/+MiHeczbnwa8HCl6vJ9vbCHbZ0SB4pYNZmjREH9PSMmsx7iQfbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXnp35QWTz12dF for ; Sat, 14 Mar 2026 04:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43cf6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 04:05:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: a47c870930a7 - main - inpcb: fix up !VIMAGE builds List-Id: Commit messages for the main 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: a47c870930a728b5d890e8243cc363c788ebddc7 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 04:05:47 +0000 Message-Id: <69b4de9b.43cf6.575e45dc@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a47c870930a728b5d890e8243cc363c788ebddc7 commit a47c870930a728b5d890e8243cc363c788ebddc7 Author: Gleb Smirnoff AuthorDate: 2026-03-14 03:59:51 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-14 03:59:51 +0000 inpcb: fix up !VIMAGE builds There are some files that don't include mutex.h and rwlock.h, but use inpcb locking macros. With VIMAGE the net/vnet.h pulls half of the possible kernel includes, masking the problem. The in_pcb.h also used to mask the problem, so restore that. Fixes: 041e9eb1ae094a81e55fbcaba37eb2ac194658cc --- sys/netinet/in_pcb.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index bdf8ff9fb74c..6f842f64775e 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -292,9 +292,9 @@ struct xktls_session { */ #include #include -#include -#include -#include +#include +#include +#include #include #include #include From nobody Sat Mar 14 04:05:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXnp52Gq3z6V6C7 for ; Sat, 14 Mar 2026 04:05:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXnp5023lz3DmC for ; Sat, 14 Mar 2026 04:05:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773461149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0HODh0QADlUuJ4rvoMQO6annd0XfwXp2Uov7vKOeLc=; b=BbhtNv5NFBq8c5Vhso+i6nT0LWUreNdjKLbqiN08gIPcTrXmouaBWdSTriJQc/K1zX9B8A UFMfB1XO6gJY4ixNM2MTBQMqs0LNZkuZ5XpWa33aqJCFBDHD/09pCtJLpnfBthwuWFBbgp e5kERGs6nAs2vKKIimLMIfK9UyMy+11W6wJ2JSDhcJ4wvBJmGnn0dNigINZnPgm2WKEKR7 GpIjpj2x3OmPWmOPvaoKu6ulX8+vNhnl2iv8nUmH8gg/XEEG7jSkqtR0oGvrqRa/VpRZfk jNIlzAEJ06CvOnzy1vhAe6IVc4KkJfsj4HWpOPK7ZHzcusOpphASr/anQyH6Iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773461149; a=rsa-sha256; cv=none; b=JPnApLnTmBS2UBRTxrxTYFUrJSl2lt9/KQes4oWKJAK4++wJ3ZbAAVaF+6fKuyrXn1J3Gy oQz7MoVp07/N+B7RASeOTF46meRztE8JVjhpt0NaUuQJc2s8PbNyfY0wlc8gFWUL5jXezM ujma1caQVO2v1Ra4Y8pqSM/lv/iFNQgjq1cAg9fBQWaHfUJytTa/RQ574t5reTofgZ8tuC jGpLRaC8q5/ay7hG1n9xCkwl9j7X0qS1mu+M47jR0BsQdGKO4sxniILg7bXdy6MkdRNNb/ zQH3CEd6+zjZGLwlokfJcQSS5PG+b9U/lDistOaOl0zTBtSRum19y764ny4yMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773461149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0HODh0QADlUuJ4rvoMQO6annd0XfwXp2Uov7vKOeLc=; b=JMWPlxDn8W4a7CGVBsPOj5WEM1gLShDjq5Rj9sVYXhLJlUptk8nlgzgFrvwMq+joHFpJ1V +N07XmLWoFLxRCcHPkB9kYUc7VNcMi1Ph97CvnUAg5PZRAUim8N2TpquJvasZxrQKV2yGh LFAzb1aZIvvnwLG/cEU39NELsD9CJUNKtCdrdi76M7VFO+rdb+A8LKB4Zzip9xEhrl7iOE +TcXuBQ69wE7tqestyRNHY+EQYMaSlmlOQcaoQ0vjsa6Uhs5OSj9phBt+tJq9RVtykwoRg WhkG2bLvB/y3PZnRQ/bzDWWX5Q7jlA5KKT50nIRHTwU6P62xexaU/TZo1kUwAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXnp46BMzz12GY for ; Sat, 14 Mar 2026 04:05:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45318 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 04:05:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 4f59a7eb878f - main - tcp: fix up !VIMAGE builds List-Id: Commit messages for the main 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: 4f59a7eb878f8f084e86baa58e882bc55f460a40 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 04:05:48 +0000 Message-Id: <69b4de9c.45318.5c2c2d77@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=4f59a7eb878f8f084e86baa58e882bc55f460a40 commit 4f59a7eb878f8f084e86baa58e882bc55f460a40 Author: Gleb Smirnoff AuthorDate: 2026-03-14 04:04:14 +0000 Commit: Gleb Smirnoff CommitDate: 2026-03-14 04:04:14 +0000 tcp: fix up !VIMAGE builds The tcp_seq.h uses getmicrouptime() in an inline function, but it doesn't include . This was usually masked by having tcp_var.h always before tcp_seq.h, so restore that. Fixes: c0462c2deafdcfe885e8d6f91b529d8cbddc6014 --- sys/netinet/tcp_stacks/sack_filter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_stacks/sack_filter.c b/sys/netinet/tcp_stacks/sack_filter.c index 71875c58989d..445f3368f992 100644 --- a/sys/netinet/tcp_stacks/sack_filter.c +++ b/sys/netinet/tcp_stacks/sack_filter.c @@ -29,14 +29,15 @@ #include #include #include -#include #ifdef _KERNEL #include #include #include #include +#include #else /* ! _KERNEL */ +#include #include #include #include From nobody Sat Mar 14 04:31:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXpMp1fFVz6V8JN for ; Sat, 14 Mar 2026 04:31: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXpMp0Qnfz3JkG for ; Sat, 14 Mar 2026 04:31:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773462694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcZHqHXSiqKjCPlTjT40zyLDM/1YSiPtJ2aVFlUxYwk=; b=pvPTM8ZHCFB+SdOWzuqWxk6JsSpfxgj50WfnSRYPhe+eMuzRUf9Kd6zazZL4AT93mAulF3 gQkJmyEklFlId9IGW0yR2RXyxsswzXJcqhFFtS0EEdo41grvOCKuaQQNah05VzmSAFt887 g2pkqgZBYivUzzp7M37m6xpTyOrImxurlpQgMsyzU3yhaTtqk8f1mN0xj4w/F//DYx9pY3 vYbWkQYvjaQb7yiUqmCHbOifFa3iTDO7UnB8fSm2LMC+xik/HKbxPCZqcg9ReVD9fPuROM eYjn6oLJfHvfG70pCMhoUESSDmjRWVFfZf6DChR4hJI2BnFaJ1JpKvFsWTbeyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773462694; a=rsa-sha256; cv=none; b=NIo3FzBCq/Mgkys0wiIYR13kSarro+xZ7fqehQNTwHibKOOcGTrnfEPfLXpdbO2yC5nxY4 XOYjK+4TgQxHqJMKsQPt5Ii2jFY17m74J22rIAVn+41KkBeVV9w1EadhxZUZpTZELnZefz HNI5IbPfuFvQ6pILXQ8BcAWINVcwcljmhq/uMjTl5mrAxe3bxIrABasbKOYwSmegAUoRwY sb55BtCGrmzMtoWnA+Oq3sTiSOWo8pzqlxOxSAHW27/GizljiqdBHqC5MSXwKNVRaM1Y5K 274AZ0FTyrNDyqp5dxoAhzw+jV/HFLJr6+SJLoB/2Uz7DcuxDGhDDW2lshya1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773462694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcZHqHXSiqKjCPlTjT40zyLDM/1YSiPtJ2aVFlUxYwk=; b=wxnYSHPuSNzP5UmAYq5seo7m+kBvUTD1SIeeuy/tXK6ixqc7vkiX2EZFhY7WGxjgxxWfvl E3eX7kotwoZ11JYnQdHsuqxvfDMm2Vu8SagJgoNK1DI0W3GMeC99jfJDNvqbW8q/Hj+JqV P1W0Thxh+RwpElzZEY0fLgmmZN7VAmg5PDjgIY3h8oPMpJSPWbjZueC5zBA0ewukptTPng TMq3mzn3pp7jXJhyzTvcde4OA2uPRdvAyUR2mb3zQt5HwTIGmbvafwq4aQ2JVxQw70L48G eDi2ONXULeLstBYA5Z3joRL/VP4QUlHFUeqqIrO27AyVOXLRD45UakOsxgthBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXpMp02kpz130V for ; Sat, 14 Mar 2026 04:31:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4794e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 04:31:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 728ae49a6b81 - main - kern_time: Honor the precise option when counting diff List-Id: Commit messages for the main 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: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 728ae49a6b81edb3eec5ab70a63bb83db8f5dce5 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 04:31:33 +0000 Message-Id: <69b4e4a5.4794e.2cbae09b@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=728ae49a6b81edb3eec5ab70a63bb83db8f5dce5 commit 728ae49a6b81edb3eec5ab70a63bb83db8f5dce5 Author: ShengYi Hung AuthorDate: 2026-03-12 09:16:24 +0000 Commit: ShengYi Hung CommitDate: 2026-03-14 04:21:26 +0000 kern_time: Honor the precise option when counting diff When preecise option is used, the true elapsed time should also use the precise timer. This fixes the test case sleep_for.signals.pass.cpp in libcxx. Reviewed by: kib, imp Approved by: lwhsu (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55824 --- sys/kern/kern_time.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 0c16045ca610..82c2f7367ab2 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -601,7 +601,9 @@ kern_clock_nanosleep(struct thread *td, clockid_t clock_id, int flags, } while (error == 0 && is_abs_real && td->td_rtcgen == 0); td->td_rtcgen = 0; if (error != EWOULDBLOCK) { - if (TIMESEL(&sbtt, tmp)) + if (precise) + sbtt = sbinuptime(); + else if (TIMESEL(&sbtt, tmp)) sbtt += tc_tick_sbt; if (sbtt >= sbt) return (0); From nobody Sat Mar 14 04:31:35 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXpMq2s3fz6V8Sw for ; Sat, 14 Mar 2026 04:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXpMq188Cz3JXj for ; Sat, 14 Mar 2026 04:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773462695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7hdNl87kGxudFLTRxJeowYB22M+sy23hfyVMJ+Dthv8=; b=LuajZsnmsMLLA+qtMPFW5BtlOWujJREuBfsRNBnRrR0DF7WelSfTaH1C85BEcwl5THnvL2 oB/nYIIgPFo4YvwBejHbU/j7Ins8MlPBMEetVum5NG5m7b/+3oVJZjBUSeaHaRa0k6WzyJ TDSWagQ10eOsPsHo9cmEB/PIU8saAQLlP8yWz8NMV/4hfiimQCmhnk21FonkdYdulYdHxR 2EyxbZYuZKd1pOPFJUf8zXEtvXK4MAkv2xVfLmedbBLpZ3ypjkbrOF3cAxYG4BCEh5r4/Y lTY+oRz5pRN+wt66HSxcCR57IJI57T8rH5CbMHroIHhsAs8jKkiv668DhSFccw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773462695; a=rsa-sha256; cv=none; b=ePgrn5/gtvtbtPq13BDuEbM13v3THpgTwN9XElm99pn/spefAzQvG0FOOZNQoU5ZMWRB3l rPwnaq54+xE+TNViwL7fTo3sW7eeSiQcA1WJDzU0Rz6RP4PEz/+b8s1jFkrFdi66hgLekA HeSt92D+vgHC2klOoZcZlgKpYsH4VZ5GXueRsueLOgTlTBmUTgf3NlIrNFnXrf8HAlWTnK bf4ti3Ep//JWH8Kuva1ClGPujyylF4L+05jWp5zV29j4etYgDMyW9cEtdLS/UQW1NBi0oB mJFg6A4AkZ73vAwvUcdfOFQ7djrawGZey1zZkFxm/S3c6uxbkR4Fiaqqz8BGJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773462695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7hdNl87kGxudFLTRxJeowYB22M+sy23hfyVMJ+Dthv8=; b=O/u2Xyw1zd6IKKNyANYRocYAjDZGTl66Zpl0h0gULRjggArRktOHi3kBtY+j5fOMy4BH1N 399qK/hfnEZviljKeu1sVW23vOPBA03pnJuaLow+ddOy6a15WKnTs4Kev9j14L1r4gM5SM VOpSBEx/7jID2gibapHDrF/Sel1SgGPhltN6i78xgPCjIXRUV3T8x125VkPQWGrlQIeuK2 7SUlYiantFKeFplrSGUdGooObASY6G/MMWCCledcJl55QNUyljLPW2vknjunzrcOJLUjZd cYa86koQdP9F/8e76njH//nf0H7ruvr72DCrxo7lDk888vStzzW2+PEuQPJ3tA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXpMq0R5Tz13Lp for ; Sat, 14 Mar 2026 04:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1860f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 04:31:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: ShengYi Hung Subject: git: 9d26b82826d9 - main - libc: Fix dtor order in __cxa_thread_atexit List-Id: Commit messages for the main 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: aokblast X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d26b82826d9962d5085bc5d9df7f8a762c57602 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 04:31:35 +0000 Message-Id: <69b4e4a7.1860f.4c5fa8be@gitrepo.freebsd.org> The branch main has been updated by aokblast: URL: https://cgit.FreeBSD.org/src/commit/?id=9d26b82826d9962d5085bc5d9df7f8a762c57602 commit 9d26b82826d9962d5085bc5d9df7f8a762c57602 Author: ShengYi Hung AuthorDate: 2026-03-12 13:40:34 +0000 Commit: ShengYi Hung CommitDate: 2026-03-14 04:30:25 +0000 libc: Fix dtor order in __cxa_thread_atexit The thread_local variable may creates another thread_local variable inside its dtor. This new object is immediately be registered in __cxa_thread_atexit() and need to be freed before processing another variable. This fixes the libcxx test thread_local_destruction_order.pass.cpp. Reported by: kib Approved by: lwhsu (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55826 --- lib/libc/stdlib/cxa_thread_atexit_impl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/stdlib/cxa_thread_atexit_impl.c b/lib/libc/stdlib/cxa_thread_atexit_impl.c index 3123bd12dca8..3d742d90fb44 100644 --- a/lib/libc/stdlib/cxa_thread_atexit_impl.c +++ b/lib/libc/stdlib/cxa_thread_atexit_impl.c @@ -119,9 +119,9 @@ walk_cb_nocall(struct cxa_thread_dtor *dtor __unused) static void cxa_thread_walk(void (*cb)(struct cxa_thread_dtor *)) { - struct cxa_thread_dtor *dtor, *tdtor; + struct cxa_thread_dtor *dtor; - LIST_FOREACH_SAFE(dtor, &dtors, entry, tdtor) { + while ((dtor = LIST_FIRST(&dtors)) != NULL) { LIST_REMOVE(dtor, entry); cb(dtor); free(dtor); From nobody Sat Mar 14 09:13:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXwd05tRpz6VXYD; Sat, 14 Mar 2026 09:13:24 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from fhigh-a7-smtp.messagingengine.com (fhigh-a7-smtp.messagingengine.com [103.168.172.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXwd03vvrz3l0T; Sat, 14 Mar 2026 09:13:24 +0000 (UTC) (envelope-from herbert@gojira.at) Authentication-Results: mx1.freebsd.org; none Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailfhigh.phl.internal (Postfix) with ESMTP id 82064140002C; Sat, 14 Mar 2026 05:13:23 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-01.internal (MEProxy); Sat, 14 Mar 2026 05:13:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gojira.at; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1773479603; x=1773566003; bh=BSE60WL11I A2hN0tyr4SXiX8z0IYPFN7vZRbElNHxmg=; b=ApfyLH9KUvzG2hQ/Z49iP/WVWk HvF+jfGIleLGS2EvdoyXq2ulC04lSC6ioF96ovPf5hi5kyTFpCVwRR1jpSvsYMnG U24Umt7LurmJMvKLThy2k2pLqh5HpCNlSRLptCGdSR7k7C3SUZ8VR4/fcuBs/tSa IfBGn16D5yue8odSaeNOGB5hFdzHtq1Ej5M6LkN2DjrbYctW6QAD94s918rkEu0n 2EmdE+fTq+8K7lQWCrOskf8uLSPkMxVMkxzJ+QuBGBpL+NLgh9+LpRuUnC75v3iC S3HG8YdsjdkaJFodeoNoYWxiegOgOd6j7Qjrn+kfXG1UMTTWV5STbDDJIPqA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1773479603; x=1773566003; bh=BSE60WL11IA2hN0tyr4SXiX8z0IYPFN7vZR bElNHxmg=; b=MDgx5cdQSFiEgbH2r8I7a8r28ppx9Y+79OBwVe3XTOfyepu/W+X dsyEYpJ3/x1ie7ZL5n1i3PIwQuT1jdEAZQrLBs2IxRELOTOlrqXpSpfJJHiMDJub AIPWcVZNFhrq8jvP3673bEPcrr0ApaLouguPrL3U97b8fPUcHtUW5TVF2Y09ExVt OztfrhELuv4eYLi+5D8q6tvq+BTkvjuQfmuR0ezIDU4W9itf0DfpohpShzuDlHqp yzob2F7bTuYRJIDlrGsp1Db3zP1A793E287Ayv8g4QUq0BePXJxtUI8L1waKhPfF tiCCDFm684dvxHDKmFbZPlSIUlG+RF5BT9g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvledvudekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpeffkffhvfevufgjfhgfgggtsehttdertd dtredvnecuhfhrohhmpedfjfgvrhgsvghrthculfdrucfukhhuhhhrrgdfuceohhgvrhgs vghrthesghhojhhirhgrrdgrtheqnecuggftrfgrthhtvghrnhepfefhheffgedvheeutd eugfekfeeiffeijefhgeegkeegveejgeefffeggeelhfdtnecuffhomhgrihhnpehfrhgv vggsshgurdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhephhgvrhgsvghrthesghhojhhirhgrrdgrthdpnhgspghrtghpthhtohepgedp mhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepkhhisgesfhhrvggvsghsugdrohhrgh dprhgtphhtthhopehsrhgtqdgtohhmmhhithhtvghrshesfhhrvggvsghsugdrohhrghdp rhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrhgtqdgrlhhlsehfrhgvvggsshgurd horhhgpdhrtghpthhtohepuggvvhdqtghomhhmihhtshdqshhrtgdqmhgrihhnsehfrhgv vggsshgurdhorhhg X-ME-Proxy: Feedback-ID: i64fe486c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 14 Mar 2026 05:13:22 -0400 (EDT) Date: Sat, 14 Mar 2026 10:13:15 +0100 Message-ID: <87a4wasris.wl-herbert@gojira.at> From: "Herbert J. Skuhra" To: Konstantin Belousov Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 914a53570750 - main - amd64: move efirt trap checks into the helper In-Reply-To: <69b494da.1d7bf.7cef39b3@gitrepo.freebsd.org> References: <69b494da.1d7bf.7cef39b3@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:151847, ipnet:103.168.172.0/24, country:AU] X-Rspamd-Queue-Id: 4fXwd03vvrz3l0T X-Spamd-Bar: ---- On Fri, 13 Mar 2026 23:51:06 +0100, Konstantin Belousov wrote: > > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=914a53570750ce5a104a5870403d7669656fddc3 > > commit 914a53570750ce5a104a5870403d7669656fddc3 > Author: Konstantin Belousov > AuthorDate: 2026-03-11 11:53:52 +0000 > Commit: Konstantin Belousov > CommitDate: 2026-03-13 22:47:13 +0000 > > amd64: move efirt trap checks into the helper > > Reviewed by: imp, jhb > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D55808 > --- > sys/amd64/amd64/trap.c | 55 ++++++++++++++++++++++++-------------------------- > 1 file changed, 26 insertions(+), 29 deletions(-) This is causing a kernel panic here. From nobody Sat Mar 14 09:38:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXx9s3kcWz6VZYl for ; Sat, 14 Mar 2026 09:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXx9s30H3z3pLh for ; Sat, 14 Mar 2026 09:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773481105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pE4jEWJXqD8Oc8YwBBW5+KQxAmfX66+jXTMZkSxIBwc=; b=tjnoDRyKGW0/LoerYD3GP1ILzWKSkwLxLL10PA8v2Znwx7iE1l8NUOre3aFRvc8ZI6HCEu tB7tEI4vvpDbGoy/NYI053+0cO6diWYLzcSnP6QBbHboIpKFTdRafmZc7hTcW3SfV8Y6E1 GeYsHZNsrBARHF4I+H9tHGjyA697auhuOrO1qa+rLeM6YRhCVGgBRnOZW9+r78F66y561J OFnDBl+p4cHN/nqfhfeajcRFZ3Rb0Of3mkWnRkGCJgSMpBjk8BIOukz3EudRIVWsQi0ex8 xdlVA0vnqI3NpHLQCSHJbXO6/lpws3vk5/Y7YwauricqR0D7lEJ8IL4CJN3mdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773481105; a=rsa-sha256; cv=none; b=jdX3DxDSkAvJ9R2N1fnrZ8yAsSKJ2VvWfpDJu6XCNgO7RehsL1crniHB4VZxG7mXZ2d1E0 Looj7HEZ/SSZKucSoAGfTCQ+Buhv9ipf42oJmH968tXxx0o0Mxq5fSV8RMElwAZEeBJwTU ywxWEb4iuLlq65vS4R6mhBw/uZj00Vx5vzYbgWJoNB86lJHWoUtEUZSoizVwzQ98ArToC4 o8iNVAfJvKkCkjGtSBAvqGnNG2K9gJHCMQ+Ng8lVAYXKJ5BlJk1CMKx/eb3YeeZTXCjM3s oOuds4MCgDi4e2WK5kU0Byxb5rdKdQR0QGjjnPOBL3f2n268byTVsgpvKPBZ4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773481105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pE4jEWJXqD8Oc8YwBBW5+KQxAmfX66+jXTMZkSxIBwc=; b=rW5Q7wBMcYicH1P9ynDQgZ8oM57o/kPl/+0idWUkCeVhWsYWySXxIELpmPmrCeq3gJApET MKJ5+ZHWnumXVHhhcZnmbIrpZPfX5nXizrkuiHa+Rnef/df2hI1T6six1tkWNobc1taqk5 ZFZqDcNo96304fVesX/69QVepI7/roZDUkOxnWNfkF+YPjqJQxX3ocaRtQ1Zz6u1StCNCL GO+MJmyil4t9TouqJvJhuSfBEbWFLAzdO3V4BZlBixVsSEJ03djzoYytO9QwDe2BQi8HSJ BeQk3lNh/LUkOBL1cBv0VoIPJR0H/AtsjRFPsiUzWgjz4p/kdqZa933ZN9mLyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXx9s2WLlz1BZX for ; Sat, 14 Mar 2026 09:38:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18eab by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 09:38:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: f91464171d61 - main - acpi_system76: Improve sysctl 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f91464171d615b7e7720ac9ed67e2e86392d1b41 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 09:38:25 +0000 Message-Id: <69b52c91.18eab.42be8b26@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f91464171d615b7e7720ac9ed67e2e86392d1b41 commit f91464171d615b7e7720ac9ed67e2e86392d1b41 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-03-13 19:23:03 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-14 09:33:10 +0000 acpi_system76: Improve sysctl names * Improve sysctl descriptions. * Rename battery charging-threshold sysctl for clarity. * Fix mis-spelled words. * Style: sort headers. Reported by: olce, jhb Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D55848 --- sys/dev/acpi_support/acpi_system76.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/dev/acpi_support/acpi_system76.c b/sys/dev/acpi_support/acpi_system76.c index a4ac848a0fec..1ba287ccb85d 100644 --- a/sys/dev/acpi_support/acpi_system76.c +++ b/sys/dev/acpi_support/acpi_system76.c @@ -27,18 +27,19 @@ */ #include "opt_acpi.h" + #include -#include #include +#include #include +#include #include #include #include -#include - #include + #include "backlight_if.h" #define _COMPONENT ACPI_OEM @@ -91,8 +92,8 @@ static int acpi_system76_backlight_get_info(device_t dev, enum { S76_CTRL_KBB = 1, /* Keyboard Brightness */ S76_CTRL_KBC = 2, /* Keyboard Color */ - S76_CTRL_BCTL = 3, /* Battary Charging Start Thresholds */ - S76_CTRL_BCTH = 4, /* Battary Charging End Thresholds */ + S76_CTRL_BCTL = 3, /* Battery Charging Start Thresholds */ + S76_CTRL_BCTH = 4, /* Battery Charging End Thresholds */ }; #define S76_CTRL_MAX 5 @@ -125,16 +126,16 @@ static const struct s76_ctrl_table s76_sysctl_table[] = { .desc = "Keyboard Color", }, [S76_CTRL_BCTL] = { - .name = "battary_thresholds_low", + .name = "battery_charge_min", .get_method = S76_CTRL_GBCT, .set_method = S76_CTRL_SBCT, - .desc = "Battary charging start thresholds", + .desc = "Start charging the battery when this threshold is reached (percentage)", }, [S76_CTRL_BCTH] = { - .name = "battary_thresholds_high", + .name = "battery_charge_max", .get_method = S76_CTRL_GBCT, .set_method = S76_CTRL_SBCT, - .desc = "Battary charging end thresholds", + .desc = "Stop charging the battery when this threshold is reached (percentage)", }, }; @@ -376,7 +377,7 @@ acpi_system76_sysctl_handler(SYSCTL_HANDLER_ARGS) if (req->newptr == NULL) { /* - * ACPI will not notify us if battary thresholds changes + * ACPI will not notify us if battery thresholds changes * outside this module. Therefore, always fetch those values. */ if (method != S76_CTRL_BCTL && method != S76_CTRL_BCTH) From nobody Sat Mar 14 11:15:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXzLf57CXz6VjJm; Sat, 14 Mar 2026 11:16:10 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp052.goneo.de (smtp5.goneo.de [IPv6:2001:1640:5::8:30]) (using TLSv1.3 with cipher TLS_AES_256_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 4fXzLf2slcz3wb5; Sat, 14 Mar 2026 11:16:10 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; none Received: from hub2.goneo.de (hub2.goneo.de [IPv6:2001:1640:5::8:53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp5.goneo.de (Postfix) with ESMTPS id 77FC52402F3; Sat, 14 Mar 2026 12:16:03 +0100 (CET) Received: from hub2.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPS id 975122403A0; Sat, 14 Mar 2026 12:16:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1773486961; 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=3ktil7JAdtZOi4Jscrm0lfi3JKI//8S8dCgOOfIup3o=; b=GQ+mOtPAWytj4GduQzbplSuPUsQ3ay3T3NgFF7wVbxM+qNI6JVB6SZfgDCJJX6x+f2pg06 Qh0J3em6+sP6Y7OsXDFVUIARqPBo6fn7XZd7lAiOGfQkfsbvw6oaxIzW9JOcEkw/u9u7LN W2JJ8njcKWEwwkGXQxRukjlDNCGVWajWdwlIw1fwNiofmNdl6Wm57evmbNqYoFusQLknQt oQQ5o7w19oqRhbGPKJcLH+vdTQ++zZ4iqtYEkQo5XFfVGpBH3m1rHU65PHpPm96gRhsc5Y oiZuWDqQWU4rcwU9RpFdqe0ofTR09QmEDzFnPsMOBVjLYyT7D6tqASuqL/lNyA== Received: from thor.sb211.local (dynamic-2a02-3100-28cd-8502-d48f-5603-9dc5-4ef7.310.pool.telefonica.de [IPv6:2a02:3100:28cd:8502:d48f:5603:9dc5:4ef7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPSA id 33AE0240214; Sat, 14 Mar 2026 12:16:01 +0100 (CET) Date: Sat, 14 Mar 2026 12:15:33 +0100 From: A FreeBSD User To: "Herbert J. Skuhra" Cc: Konstantin Belousov , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 914a53570750 - main - amd64: move efirt trap checks into the helper Message-ID: <20260314120921.314e1677@thor.sb211.local> In-Reply-To: <87a4wasris.wl-herbert@gojira.at> References: <69b494da.1d7bf.7cef39b3@gitrepo.freebsd.org> <87a4wasris.wl-herbert@gojira.at> X-Mailer: Claws Mail 3.21.0 (GTK+ 2.24.33; amd64-portbld-freebsd16.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: multipart/signed; boundary="Sig_/VvxFV1koNGL2BsRb.a1cwQY"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Rspamd-UID: c6c5c9 X-Rspamd-UID: a28118 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:25394, ipnet:2001:1640::/32, country:DE] X-Rspamd-Queue-Id: 4fXzLf2slcz3wb5 X-Spamd-Bar: ---- --Sig_/VvxFV1koNGL2BsRb.a1cwQY Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Tage des Herren Sat, 14 Mar 2026 10:13:15 +0100 "Herbert J. Skuhra" schrieb: > On Fri, 13 Mar 2026 23:51:06 +0100, Konstantin Belousov wrote: > >=20 > > The branch main has been updated by kib: > >=20 > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D914a53570750ce5a104a5870= 403d7669656fddc3 > >=20 > > commit 914a53570750ce5a104a5870403d7669656fddc3 > > Author: Konstantin Belousov > > AuthorDate: 2026-03-11 11:53:52 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2026-03-13 22:47:13 +0000 > >=20 > > amd64: move efirt trap checks into the helper > > =20 > > Reviewed by: imp, jhb > > Sponsored by: The FreeBSD Foundation > > MFC after: 1 week > > Differential revision: https://reviews.freebsd.org/D55808 > > --- > > sys/amd64/amd64/trap.c | 55 ++++++++++++++++++++++++------------------= -------- > > 1 file changed, 26 insertions(+), 29 deletions(-) =20 >=20 > This is causing a kernel panic here. >=20 me too. --=20 A FreeBSD user --Sig_/VvxFV1koNGL2BsRb.a1cwQY Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCabVDcAAKCRCxzvs8Oqok rxYVAP0fkuHnJnZ04PNLN5ubTUj6BVs10zyGQ7xjoFYpg7jkMAD6Ag7QbLq29g/Y 4D47POdKxb8xuX/8P/QHN8sBj8zrXQg= =CqZm -----END PGP SIGNATURE----- --Sig_/VvxFV1koNGL2BsRb.a1cwQY-- From nobody Sat Mar 14 11:46:00 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY01K2Kjmz6Vl2M; Sat, 14 Mar 2026 11:46:13 +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 4fY01J5PR0z41lP; Sat, 14 Mar 2026 11:46:12 +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 62EBk06p002844; Sat, 14 Mar 2026 13:46:03 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 62EBk06p002844 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 62EBk0ke002843; Sat, 14 Mar 2026 13:46:00 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 14 Mar 2026 13:46:00 +0200 From: Konstantin Belousov To: A FreeBSD User Cc: "Herbert J. Skuhra" , Konstantin Belousov , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 914a53570750 - main - amd64: move efirt trap checks into the helper Message-ID: References: <69b494da.1d7bf.7cef39b3@gitrepo.freebsd.org> <87a4wasris.wl-herbert@gojira.at> <20260314120921.314e1677@thor.sb211.local> List-Id: Commit messages for the main 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: <20260314120921.314e1677@thor.sb211.local> 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.2 X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) 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: 4fY01J5PR0z41lP X-Spamd-Bar: ---- On Sat, Mar 14, 2026 at 12:15:33PM +0100, A FreeBSD User wrote: > Am Tage des Herren Sat, 14 Mar 2026 10:13:15 +0100 > "Herbert J. Skuhra" schrieb: > > > On Fri, 13 Mar 2026 23:51:06 +0100, Konstantin Belousov wrote: > > > > > > The branch main has been updated by kib: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=914a53570750ce5a104a5870403d7669656fddc3 > > > > > > commit 914a53570750ce5a104a5870403d7669656fddc3 > > > Author: Konstantin Belousov > > > AuthorDate: 2026-03-11 11:53:52 +0000 > > > Commit: Konstantin Belousov > > > CommitDate: 2026-03-13 22:47:13 +0000 > > > > > > amd64: move efirt trap checks into the helper > > > > > > Reviewed by: imp, jhb > > > Sponsored by: The FreeBSD Foundation > > > MFC after: 1 week > > > Differential revision: https://reviews.freebsd.org/D55808 > > > --- > > > sys/amd64/amd64/trap.c | 55 ++++++++++++++++++++++++-------------------------- > > > 1 file changed, 26 insertions(+), 29 deletions(-) > > > > This is causing a kernel panic here. > > > > me too. My polite answer is that the messages do not provide useful information. I got a useful trace from Peter Holm, and I think I know what is going on there. My current patch is below, I will commit it after Peter' confirmation. If you have a different issue, you should report it in a way that allows to diagnose the problem. >From 7097dd1ec28472594a6fbb2f5bd8b6f88459f0e9 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sat, 14 Mar 2026 13:40:07 +0200 Subject: [PATCH] amd64: do reset %rip after page fault if pcb_onfault is set for any kernel page fault, and not only for EFIRT case. Reported by: pho Fixes: 914a53570750ce5a104a5870403d7669656fddc3 Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/amd64/amd64/trap.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 4bf56226d076..3a9323936d2d 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -219,15 +219,19 @@ trap_uprintf_signal(struct thread *td, struct trapframe *frame, register_t addr, } static bool -trap_check_efirt(struct thread *td, struct trapframe *frame) +trap_check_pcb_onfault(struct thread *td, struct trapframe *frame) { - /* - * Most likely, EFI RT faulted. This check prevents - * kdb from handling breakpoints set on the BIOS text, - * if such option is ever needed. - */ - if ((td->td_pflags & TDP_EFIRT) != 0 && - curpcb->pcb_onfault != NULL) { + bool res = false; + + if (curpcb->pcb_onfault == NULL) + return (res); + + if (__predict_false((td->td_pflags & TDP_EFIRT) != 0)) { + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); if ((print_efirt_faults == 1 && cnt == 0) || @@ -236,10 +240,13 @@ trap_check_efirt(struct thread *td, struct trapframe *frame) traptype_to_msg(frame->tf_trapno)); trap_diag(frame, 0); } - frame->tf_rip = (long)curpcb->pcb_onfault; - return (true); + res = true; + } else if (frame->tf_trapno == T_PAGEFLT) { + res = true; } - return (false); + if (res) + frame->tf_rip = (register_t)curpcb->pcb_onfault; + return (res); } static void @@ -494,7 +501,7 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); - if (type != T_PAGEFLT && trap_check_efirt(td, frame)) + if (type != T_PAGEFLT && trap_check_pcb_onfault(td, frame)) return; switch (type) { @@ -904,7 +911,7 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) return (1); after_vmfault: if (td->td_intr_nesting_level == 0 && - trap_check_efirt(td, frame)) + trap_check_pcb_onfault(td, frame)) return (0); trap_fatal(frame, eva); return (-1); -- 2.53.0 From nobody Sat Mar 14 13:26:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY2Dw54lpz6Vslq for ; Sat, 14 Mar 2026 13:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fY2Dw4kjPz3Cj2 for ; Sat, 14 Mar 2026 13:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773494784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lNaZB/eMnbTxs47r3s8VkJ2G2fTTlK7T42dnJ5qYo5E=; b=kXrShUddWkLvCL1ZjPdigNh/JQLatnYkPUxul8ZfHPeszgSDhrirEMVMfKR5XlhaptR5hk 78zPPm0QJkLdHVZVagJTyuKvhPoI2Fe2ZbZTz7DybvPWK6AReSF8TO0lDS+RROnDTtINGn t/Wb/a7uNoCWESnqBIOFzudM280RASJgyM1xML6qd5krKhtfbjT5+bgPQSp+zBzQ2SEAr/ /qNKUuh2bYYIedMIWHO4GAm1K2yUqJofohn1rOofD100iT1QARIttmt1iWzMzyiwZKITA2 W56ffgcvWVrTuyL+ZDILqqy3s5mwnByw4OjKaPkslAWPhy9K2IGFpBGXKeNAzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773494784; a=rsa-sha256; cv=none; b=IW3Spkol5iWp/r+8J/ibsiPg+35xIaficRDDGnbqH8ecmXS/lSVoFnxKGnJI+sefxBShR4 d/ejqp8ssllKarr4oYCvWrVBqThZHBRzAx+Lk+qQW4st0k0l6pg3zM36Wpng/glBOHE3No Td+PzEG2XaN+XatwLr2quT1PVSs6QYPzndttRWrkoXKfs8pcezxRVNfZMw1WfHHctSRvtt YB/e0P5DpeQuZzmvOW9oNXmY8uXqBGWCTLqSndIEkRkgLE2ykOfcFaACJqokY/oCGBioj7 AZji6Na4jNielyCQXiPvDoDn9Y/FHV3iPwV69mwc0BpvpHMFCBN9dAR1ja3Ozw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773494784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lNaZB/eMnbTxs47r3s8VkJ2G2fTTlK7T42dnJ5qYo5E=; b=vkc8xbBZUBxyLXgwc1HAsHVCDo3DXyJ+byaAFF/TDAX0TOGd7jAD7GXygZTtZqbj4gwmCQ SZ60BoViJHlyK+LWieUx8bM5HeXAY+BTK/uVF4ZyW69qAkCQxCtWo7rEX90Sh0KLqvzS0j Jg3E7VuSsO2ARSySHwzbSrh3mxrqBFwTrBcOuRp+Vx8x9zYEreu0GUZVQemaYGIpfVhREe 2GEtI1O63yKvJciRHhoC75ihA5MB6hhuQLE0D/Roak1SzUxeb+We3Oc7NNuSsLc7lG4MKD D4XbD/KAlfwFIWutZHZvU1DO+9VepkFscMlAXSejLtdIxni/FY4MGs+0WFm+DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fY2Dw3npVz1J3l for ; Sat, 14 Mar 2026 13:26:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39ea9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 13:26:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 8a62a2a5659d - main - zfs: merge openzfs/zfs@f8e5af53e List-Id: Commit messages for the main 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8a62a2a5659d1839d8799b4274c04469d7f17c78 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 13:26:23 +0000 Message-Id: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=8a62a2a5659d1839d8799b4274c04469d7f17c78 commit 8a62a2a5659d1839d8799b4274c04469d7f17c78 Merge: f91464171d61 f8e5af53e92f Author: Martin Matuska AuthorDate: 2026-03-14 12:14:56 +0000 Commit: Martin Matuska CommitDate: 2026-03-14 12:14:56 +0000 zfs: merge openzfs/zfs@f8e5af53e Notable upstream pull request merges: #17358 4975430cf Add vdev property to disable vdev scheduler #18031 c77f17b75 Add snapshots_changed_nsecs dataset property #18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly created datasets #18089 -multiple Zstd: Update bundled library to version 1.5.7 #18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the snapshot #18093 -multiple L2ARC: Rework write throttling with DWPD rate limiting and parallel writes #18095 2dbd6af5e Rename several printf attributes declarations to __printf__ #18096 8605bdfdd FreeBSD: unbreak compilation on i386 #18105 794f1587d When receiving a stream with the large block flag, activate feature #18115 765929cb4 DDT: Add locking for table ZAP destruction #18118 09e4e01e9 Fix history logging for `zpool create -t` #18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF targets #18131 3fffe4e70 Fix --enable-invariants on FreeBSD #18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code #18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS #18138 cdf89f413 Flush RRD only when TXGs contain data #18139 a157ef62a Make sure we can still write data to txg #18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD double free panic #18144 4f180e095 Fix activating large_microzap on receive #18146 35b2d3970 Lock db_mtx around arc_release() in couple places #18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition #18160 21bbe7cb6 Improve caching for dbuf prefetches #18177 -multiple Multihost Improvements #18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks #18180 aa29455dd Restrict cloning with different properties #18184 040ba7a7c libzfs: improve error message for zpool create with ENXIO #18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after zfs_setattr_dir() #18198 cc184fe98 Fix `send:raw` permission for send `-w -I` #18208 ba970eb20 Cleanup allocation class selection #18212 0f9564e85 Simplify dnode_level_is_l2cacheable() #18214 370570890 Remove parent ZIO from dbuf_prefetch() #18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC #18222 d06a1d9ac Fix available space accounting for special/dedup #18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document source files #18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functions #18230 -multiple Fix zdb --key crash for unencrypted datasets, and teach tests to understand this better #18233 -multiple icp: add SHA-512 implementation using Intel SHA512 extension #18245 991fc56fa Introduce dedupused/dedupsaved pool properties #18251 6a717f31e Improve misleading error messages for ZPOOL_STATUS_CORRUPT_POOL #18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX512VL #18255 6495dafd5 range_tree: use zfs_panic_recover() for partial-overlap remov #18256 3408332d7 zhack: Fix importing large allocation profiles on small pools #18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild() #18263 f8e5af53e Fix redundant declaration of dsl_pool_t Obtained from: OpenZFS OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920 cddl/lib/libzfs/Makefile | 36 +- cddl/lib/libzpool/Makefile | 7 +- stand/libsa/zfs/Makefile.inc | 6 +- stand/libsa/zfs/xxhash.c | 24 + sys/conf/files | 7 +- .../.github/workflows/scripts/qemu-1-setup.sh | 110 +- .../.github/workflows/scripts/qemu-2-start.sh | 53 +- .../.github/workflows/scripts/qemu-3-deps-vm.sh | 50 +- .../.github/workflows/scripts/qemu-5-setup.sh | 22 +- .../workflows/scripts/qemu-6-lustre-tests-vm.sh | 51 + .../.github/workflows/scripts/qemu-6-tests.sh | 132 +- .../.github/workflows/scripts/qemu-8-summary.sh | 32 + .../.github/workflows/scripts/qemu-test-repo-vm.sh | 27 +- .../.github/workflows/zfs-qemu-packages.yml | 15 +- sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 16 +- sys/contrib/openzfs/.mailmap | 10 + sys/contrib/openzfs/AUTHORS | 14 + sys/contrib/openzfs/META | 2 +- sys/contrib/openzfs/Makefile.am | 2 + sys/contrib/openzfs/autogen.sh | 1 + sys/contrib/openzfs/cmd/Makefile.am | 5 +- sys/contrib/openzfs/cmd/raidz_test/Makefile.am | 1 + sys/contrib/openzfs/cmd/zdb/Makefile.am | 5 +- sys/contrib/openzfs/cmd/zdb/zdb.c | 53 +- sys/contrib/openzfs/cmd/zed/Makefile.am | 1 + sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am | 1 + .../zed/zed.d/history_event-zfs-list-cacher.sh.in | 1 + sys/contrib/openzfs/cmd/zfs/Makefile.am | 1 + sys/contrib/openzfs/cmd/zfs/zfs_main.c | 89 +- sys/contrib/openzfs/cmd/zhack.c | 166 +- sys/contrib/openzfs/cmd/zinject/Makefile.am | 1 + sys/contrib/openzfs/cmd/zpool/Makefile.am | 1 + sys/contrib/openzfs/cmd/zpool/zpool_main.c | 16 +- sys/contrib/openzfs/cmd/zpool/zpool_util.c | 26 - sys/contrib/openzfs/cmd/zpool/zpool_util.h | 2 - sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am | 1 + sys/contrib/openzfs/cmd/zstream/Makefile.am | 1 + sys/contrib/openzfs/cmd/ztest.c | 7 +- sys/contrib/openzfs/config/CppCheck.am | 1 + sys/contrib/openzfs/config/Rules.am | 1 + sys/contrib/openzfs/config/Shellcheck.am | 1 + sys/contrib/openzfs/config/Substfiles.am | 1 + sys/contrib/openzfs/config/always-arch.m4 | 1 + .../openzfs/config/always-compiler-options.m4 | 1 + sys/contrib/openzfs/config/always-cppcheck.m4 | 1 + sys/contrib/openzfs/config/always-parallel.m4 | 1 + sys/contrib/openzfs/config/always-python.m4 | 1 + sys/contrib/openzfs/config/always-pyzfs.m4 | 1 + sys/contrib/openzfs/config/always-sed.m4 | 1 + sys/contrib/openzfs/config/always-shellcheck.m4 | 1 + sys/contrib/openzfs/config/always-system.m4 | 1 + sys/contrib/openzfs/config/ax_compare_version.m4 | 1 + sys/contrib/openzfs/config/ax_count_cpus.m4 | 1 + sys/contrib/openzfs/config/ax_python_devel.m4 | 1 + sys/contrib/openzfs/config/ax_restore_flags.m4 | 1 + sys/contrib/openzfs/config/ax_save_flags.m4 | 1 + sys/contrib/openzfs/config/deb.am | 1 + sys/contrib/openzfs/config/find_system_library.m4 | 1 + sys/contrib/openzfs/config/gettext.m4 | 1 + sys/contrib/openzfs/config/host-cpu-c-abi.m4 | 1 + sys/contrib/openzfs/config/iconv.m4 | 1 + .../openzfs/config/kernel-access-ok-type.m4 | 1 + sys/contrib/openzfs/config/kernel-acl.m4 | 32 + sys/contrib/openzfs/config/kernel-add-disk.m4 | 1 + sys/contrib/openzfs/config/kernel-assign_str.m4 | 1 + sys/contrib/openzfs/config/kernel-automount.m4 | 1 + sys/contrib/openzfs/config/kernel-bio.m4 | 1 + sys/contrib/openzfs/config/kernel-bio_max_segs.m4 | 1 + sys/contrib/openzfs/config/kernel-blk-queue.m4 | 27 + sys/contrib/openzfs/config/kernel-blkdev.m4 | 1 + .../config/kernel-block-device-operations.m4 | 1 + .../openzfs/config/kernel-commit-metadata.m4 | 1 + .../openzfs/config/kernel-config-defined.m4 | 1 + .../config/kernel-copy-from-user-inatomic.m4 | 1 + .../openzfs/config/kernel-cpu_has_feature.m4 | 1 + .../openzfs/config/kernel-declare-event-class.m4 | 1 + .../openzfs/config/kernel-dentry-operations.m4 | 1 + .../openzfs/config/kernel-discard-granularity.m4 | 1 + sys/contrib/openzfs/config/kernel-drop-inode.m4 | 1 + sys/contrib/openzfs/config/kernel-file.m4 | 1 + sys/contrib/openzfs/config/kernel-filelock.m4 | 23 + .../openzfs/config/kernel-filemap-splice-read.m4 | 1 + .../openzfs/config/kernel-flush_dcache_page.m4 | 1 + sys/contrib/openzfs/config/kernel-fmode-t.m4 | 1 + .../openzfs/config/kernel-follow-down-one.m4 | 1 + sys/contrib/openzfs/config/kernel-fpu.m4 | 1 + sys/contrib/openzfs/config/kernel-free-inode.m4 | 1 + sys/contrib/openzfs/config/kernel-fs-context.m4 | 33 + sys/contrib/openzfs/config/kernel-fst-mount.m4 | 30 - sys/contrib/openzfs/config/kernel-fsync-bdev.m4 | 1 + .../openzfs/config/kernel-generic_fadvise.m4 | 1 + .../openzfs/config/kernel-generic_fillattr.m4 | 1 + .../openzfs/config/kernel-generic_io_acct.m4 | 1 + sys/contrib/openzfs/config/kernel-genhd-flags.m4 | 1 + sys/contrib/openzfs/config/kernel-get-disk-ro.m4 | 1 + sys/contrib/openzfs/config/kernel-iattr-vfsid.m4 | 1 + sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4 | 1 + sys/contrib/openzfs/config/kernel-inode-create.m4 | 1 + sys/contrib/openzfs/config/kernel-inode-getattr.m4 | 1 + sys/contrib/openzfs/config/kernel-inode-lookup.m4 | 1 + .../openzfs/config/kernel-inode-permission.m4 | 1 + sys/contrib/openzfs/config/kernel-inode-setattr.m4 | 1 + sys/contrib/openzfs/config/kernel-inode-state.m4 | 24 + sys/contrib/openzfs/config/kernel-inode-times.m4 | 1 + .../openzfs/config/kernel-insert-inode-locked.m4 | 1 + .../openzfs/config/kernel-is_owner_or_cap.m4 | 1 + sys/contrib/openzfs/config/kernel-kasan-enabled.m4 | 1 + .../openzfs/config/kernel-kmap-atomic-args.m4 | 1 + .../openzfs/config/kernel-kmap-local-page.m4 | 1 + sys/contrib/openzfs/config/kernel-kmem.m4 | 1 + sys/contrib/openzfs/config/kernel-kthread.m4 | 1 + sys/contrib/openzfs/config/kernel-kuid-helpers.m4 | 1 + sys/contrib/openzfs/config/kernel-kuidgid.m4 | 1 + .../openzfs/config/kernel-make-request-fn.m4 | 1 + sys/contrib/openzfs/config/kernel-misc-minor.m4 | 1 + sys/contrib/openzfs/config/kernel-mkdir.m4 | 1 + sys/contrib/openzfs/config/kernel-mknod.m4 | 1 + sys/contrib/openzfs/config/kernel-mm-page-flags.m4 | 28 + sys/contrib/openzfs/config/kernel-mm-pagemap.m4 | 1 + sys/contrib/openzfs/config/kernel-namespace.m4 | 1 + sys/contrib/openzfs/config/kernel-objtool.m4 | 1 + .../config/kernel-pagemap-folio_wait_bit.m4 | 1 + .../config/kernel-pagemap-readahead-page.m4 | 1 + sys/contrib/openzfs/config/kernel-pde-data.m4 | 1 + sys/contrib/openzfs/config/kernel-percpu.m4 | 1 + .../openzfs/config/kernel-pin-user-pages.m4 | 1 + .../openzfs/config/kernel-proc-operations.m4 | 1 + sys/contrib/openzfs/config/kernel-reclaim_state.m4 | 1 + .../openzfs/config/kernel-register_sysctl_table.m4 | 1 + sys/contrib/openzfs/config/kernel-rename.m4 | 1 + .../openzfs/config/kernel-revalidate-disk-size.m4 | 1 + sys/contrib/openzfs/config/kernel-sb-dying.m4 | 1 + sys/contrib/openzfs/config/kernel-sb-wb-err.m4 | 1 + sys/contrib/openzfs/config/kernel-sched.m4 | 1 + .../openzfs/config/kernel-security-inode-init.m4 | 1 + sys/contrib/openzfs/config/kernel-set-nlink.m4 | 1 + .../openzfs/config/kernel-setattr-prepare.m4 | 1 + sys/contrib/openzfs/config/kernel-sget-args.m4 | 1 + sys/contrib/openzfs/config/kernel-show-options.m4 | 1 + sys/contrib/openzfs/config/kernel-shrink.m4 | 1 + sys/contrib/openzfs/config/kernel-siginfo.m4 | 1 + sys/contrib/openzfs/config/kernel-stdarg.m4 | 1 + sys/contrib/openzfs/config/kernel-strlcpy.m4 | 1 + sys/contrib/openzfs/config/kernel-symlink.m4 | 1 + sys/contrib/openzfs/config/kernel-sysfs.m4 | 1 + sys/contrib/openzfs/config/kernel-timer.m4 | 1 + sys/contrib/openzfs/config/kernel-tmpfile.m4 | 1 + .../openzfs/config/kernel-totalhigh_pages.m4 | 1 + .../openzfs/config/kernel-totalram-pages-func.m4 | 1 + .../openzfs/config/kernel-truncate-setsize.m4 | 1 + sys/contrib/openzfs/config/kernel-types.m4 | 1 + sys/contrib/openzfs/config/kernel-usleep_range.m4 | 1 + .../openzfs/config/kernel-vfs-file_range.m4 | 1 + .../config/kernel-vfs-filemap_dirty_folio.m4 | 1 + sys/contrib/openzfs/config/kernel-vfs-fsync.m4 | 1 + sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 | 1 + .../openzfs/config/kernel-vfs-migrate_folio.m4 | 1 + .../openzfs/config/kernel-vfs-migratepage.m4 | 1 + .../openzfs/config/kernel-vfs-read_folio.m4 | 1 + sys/contrib/openzfs/config/kernel-vfs-readpages.m4 | 1 + .../openzfs/config/kernel-vfs-set_page_dirty.m4 | 1 + sys/contrib/openzfs/config/kernel-vfs-writepage.m4 | 1 + sys/contrib/openzfs/config/kernel-writeback.m4 | 1 + sys/contrib/openzfs/config/kernel-xattr-handler.m4 | 1 + sys/contrib/openzfs/config/kernel-zero_page.m4 | 1 + sys/contrib/openzfs/config/kernel.m4 | 9 +- sys/contrib/openzfs/config/lib-ld.m4 | 1 + sys/contrib/openzfs/config/lib-link.m4 | 1 + sys/contrib/openzfs/config/lib-prefix.m4 | 1 + sys/contrib/openzfs/config/mount-helper.m4 | 1 + sys/contrib/openzfs/config/nls.m4 | 1 + sys/contrib/openzfs/config/pkg.m4 | 1 + sys/contrib/openzfs/config/po.m4 | 1 + sys/contrib/openzfs/config/progtest.m4 | 1 + sys/contrib/openzfs/config/rpm.am | 1 + sys/contrib/openzfs/config/tgz.am | 1 + sys/contrib/openzfs/config/toolchain-simd.m4 | 23 + sys/contrib/openzfs/config/user-aio.h.m4 | 1 + sys/contrib/openzfs/config/user-backtrace.m4 | 1 + sys/contrib/openzfs/config/user-clock_gettime.m4 | 1 + sys/contrib/openzfs/config/user-dracut.m4 | 1 + sys/contrib/openzfs/config/user-gettext.m4 | 1 + sys/contrib/openzfs/config/user-largefile.m4 | 1 + sys/contrib/openzfs/config/user-libaio.m4 | 1 + sys/contrib/openzfs/config/user-libatomic.m4 | 1 + sys/contrib/openzfs/config/user-libblkid.m4 | 1 + sys/contrib/openzfs/config/user-libcrypto.m4 | 1 + sys/contrib/openzfs/config/user-libexec.m4 | 1 + sys/contrib/openzfs/config/user-libfetch.m4 | 1 + sys/contrib/openzfs/config/user-libtirpc.m4 | 1 + sys/contrib/openzfs/config/user-libudev.m4 | 1 + sys/contrib/openzfs/config/user-libunwind.m4 | 1 + sys/contrib/openzfs/config/user-libuuid.m4 | 1 + sys/contrib/openzfs/config/user-makedev.m4 | 1 + sys/contrib/openzfs/config/user-pam.m4 | 1 + sys/contrib/openzfs/config/user-runstatedir.m4 | 1 + sys/contrib/openzfs/config/user-statx.m4 | 1 + sys/contrib/openzfs/config/user-systemd.m4 | 1 + sys/contrib/openzfs/config/user-sysvinit.m4 | 1 + sys/contrib/openzfs/config/user-udev.m4 | 1 + sys/contrib/openzfs/config/user-zlib.m4 | 1 + sys/contrib/openzfs/config/user.m4 | 1 + sys/contrib/openzfs/config/zfs-build.m4 | 3 +- sys/contrib/openzfs/config/zfs-meta.m4 | 1 + sys/contrib/openzfs/contrib/Makefile.am | 1 + .../openzfs/contrib/bash_completion.d/Makefile.am | 1 + sys/contrib/openzfs/contrib/bpftrace/Makefile.am | 1 + sys/contrib/openzfs/contrib/debian/Makefile.am | 1 + .../contrib/debian/openzfs-libpam-zfs.install | 1 + .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in | 2 +- sys/contrib/openzfs/contrib/dracut/Makefile.am | 1 + sys/contrib/openzfs/contrib/initramfs/Makefile.am | 1 + .../openzfs/contrib/pam_zfs_key/Makefile.am | 1 + .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c | 278 +- sys/contrib/openzfs/contrib/pyzfs/Makefile.am | 1 + .../openzfs/contrib/pyzfs/docs/source/index.rst | 3 +- .../openzfs/contrib/pyzfs/libzfs_core/__init__.py | 10 - .../pyzfs/libzfs_core/_error_translation.py | 58 - .../contrib/pyzfs/libzfs_core/_libzfs_core.py | 350 +- .../pyzfs/libzfs_core/bindings/libzfs_core.py | 4 - .../pyzfs/libzfs_core/test/test_libzfs_core.py | 337 - sys/contrib/openzfs/contrib/zcp/Makefile.am | 1 + sys/contrib/openzfs/copy-builtin | 5 +- sys/contrib/openzfs/etc/Makefile.am | 1 + sys/contrib/openzfs/include/Makefile.am | 1 + sys/contrib/openzfs/include/libzfs.h | 10 +- sys/contrib/openzfs/include/os/freebsd/Makefile.am | 1 + .../openzfs/include/os/freebsd/spl/sys/mod.h | 3 + sys/contrib/openzfs/include/os/linux/Makefile.am | 1 + .../include/os/linux/kernel/linux/dcache_compat.h | 19 +- .../include/os/linux/kernel/linux/simd_x86.h | 14 + .../include/os/linux/kernel/linux/vfs_compat.h | 8 + .../include/os/linux/kernel/linux/xattr_compat.h | 17 + .../openzfs/include/os/linux/spl/sys/kmem.h | 5 +- sys/contrib/openzfs/include/sys/arc.h | 2 - sys/contrib/openzfs/include/sys/arc_impl.h | 38 + sys/contrib/openzfs/include/sys/btree.h | 9 +- sys/contrib/openzfs/include/sys/ddt.h | 5 + sys/contrib/openzfs/include/sys/dmu.h | 1 + sys/contrib/openzfs/include/sys/dmu_objset.h | 1 + sys/contrib/openzfs/include/sys/fs/zfs.h | 24 +- sys/contrib/openzfs/include/sys/metaslab.h | 4 +- sys/contrib/openzfs/include/sys/metaslab_impl.h | 8 +- sys/contrib/openzfs/include/sys/mmp.h | 5 + sys/contrib/openzfs/include/sys/spa.h | 1 + sys/contrib/openzfs/include/sys/spa_impl.h | 4 + sys/contrib/openzfs/include/sys/uberblock_impl.h | 22 +- sys/contrib/openzfs/include/sys/vdev.h | 2 + sys/contrib/openzfs/include/sys/vdev_impl.h | 2 + sys/contrib/openzfs/include/sys/vdev_rebuild.h | 2 +- sys/contrib/openzfs/lib/Makefile.am | 31 +- sys/contrib/openzfs/lib/libavl/Makefile.am | 1 + sys/contrib/openzfs/lib/libbtree/Makefile.am | 6 + sys/contrib/openzfs/lib/libefi/Makefile.am | 1 + sys/contrib/openzfs/lib/libicp/Makefile.am | 1 + sys/contrib/openzfs/lib/libnvpair/Makefile.am | 1 + sys/contrib/openzfs/lib/librange_tree/Makefile.am | 9 + sys/contrib/openzfs/lib/libshare/Makefile.am | 27 - sys/contrib/openzfs/lib/libshare/libshare_impl.h | 48 - sys/contrib/openzfs/lib/libshare/nfs.h | 38 - sys/contrib/openzfs/lib/libspl/Makefile.am | 1 + sys/contrib/openzfs/lib/libspl/include/Makefile.am | 2 +- sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 18 +- .../openzfs/lib/libspl/include/sys/sysmacros.h | 29 +- sys/contrib/openzfs/lib/libunicode/Makefile.am | 6 - sys/contrib/openzfs/lib/libzdb/Makefile.am | 1 + sys/contrib/openzfs/lib/libzfs/Makefile.am | 18 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 450 +- sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 13 + sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 3 +- sys/contrib/openzfs/lib/libzfs/libzfs_mount.c | 7 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 16 +- .../{libshare/libshare.c => libzfs/libzfs_share.c} | 3 +- .../include/libshare.h => libzfs/libzfs_share.h} | 80 +- .../{libshare/nfs.c => libzfs/libzfs_share_nfs.c} | 5 +- .../nfs.c => libzfs/os/freebsd/libzfs_share_nfs.c} | 5 +- .../smb.c => libzfs/os/freebsd/libzfs_share_smb.c} | 4 +- .../nfs.c => libzfs/os/linux/libzfs_share_nfs.c} | 4 +- .../smb.c => libzfs/os/linux/libzfs_share_smb.c} | 24 +- sys/contrib/openzfs/lib/libzfs_core/Makefile.am | 1 + .../openzfs/lib/libzfs_core/libzfs_core.abi | 11 +- sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am | 1 + sys/contrib/openzfs/lib/libzpool/Makefile.am | 14 +- .../openzfs/lib/libzpool/include/Makefile.am | 1 + sys/contrib/openzfs/lib/libzpool/kernel.c | 28 - sys/contrib/openzfs/lib/libzstd/Makefile.am | 7 + sys/contrib/openzfs/lib/libzutil/Makefile.am | 1 + sys/contrib/openzfs/man/Makefile.am | 2 + sys/contrib/openzfs/man/man4/zfs.4 | 36 +- sys/contrib/openzfs/man/man7/vdevprops.7 | 17 + sys/contrib/openzfs/man/man7/zfsprops.7 | 9 + sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 14 + sys/contrib/openzfs/man/man7/zpoolprops.7 | 15 + sys/contrib/openzfs/man/man8/pam_zfs_key.8 | 221 + sys/contrib/openzfs/man/man8/zfs-clone.8 | 4 +- sys/contrib/openzfs/man/man8/zfs-create.8 | 2 +- sys/contrib/openzfs/man/man8/zfs-load-key.8 | 4 + sys/contrib/openzfs/man/man8/zfs-mount.8 | 6 + sys/contrib/openzfs/man/man8/zfs-rename.8 | 2 +- sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 19 +- sys/contrib/openzfs/man/man8/zfs.8 | 1 + sys/contrib/openzfs/module/Kbuild.in | 26 +- sys/contrib/openzfs/module/Makefile.bsd | 13 +- sys/contrib/openzfs/module/Makefile.in | 5 +- sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 1 + .../openzfs/module/icp/algs/sha2/sha512_impl.c | 18 + .../icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S | 44 +- .../module/icp/asm-x86_64/modes/ghash-x86_64.S | 64 - .../module/icp/asm-x86_64/sha2/sha512-x86_64.S | 321 +- .../icp/include/modes/gcm_asm_rename_funcs.h} | 30 +- sys/contrib/openzfs/module/nvpair/nvpair.c | 4 +- .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 19 + .../openzfs/module/os/freebsd/zfs/vdev_geom.c | 3 + .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 25 +- .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 13 - .../openzfs/module/os/linux/spl/spl-atomic.c | 36 - .../openzfs/module/os/linux/spl/spl-generic.c | 258 - .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 8 +- sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 4 +- .../openzfs/module/os/linux/spl/spl-kstat.c | 3 - .../openzfs/module/os/linux/spl/spl-math-compat.c | 275 + .../openzfs/module/os/linux/spl/spl-trace.c | 2 - sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 16 + .../openzfs/module/os/linux/zfs/vdev_disk.c | 7 + .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 21 +- .../openzfs/module/os/linux/zfs/zpl_export.c | 87 +- sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 4 + .../openzfs/module/os/linux/zfs/zpl_inode.c | 26 + .../openzfs/module/os/linux/zfs/zpl_super.c | 63 + sys/contrib/openzfs/module/zcommon/simd_stat.c | 2 + sys/contrib/openzfs/module/zcommon/zfs_prop.c | 10 +- sys/contrib/openzfs/module/zcommon/zpool_prop.c | 17 + sys/contrib/openzfs/module/zfs/arc.c | 1347 ++-- sys/contrib/openzfs/module/zfs/btree.c | 17 +- sys/contrib/openzfs/module/zfs/dataset_kstats.c | 2 +- sys/contrib/openzfs/module/zfs/dbuf.c | 26 +- sys/contrib/openzfs/module/zfs/ddt.c | 95 +- sys/contrib/openzfs/module/zfs/ddt_log.c | 4 +- sys/contrib/openzfs/module/zfs/ddt_stats.c | 15 + sys/contrib/openzfs/module/zfs/dmu.c | 4 +- sys/contrib/openzfs/module/zfs/dmu_objset.c | 19 + sys/contrib/openzfs/module/zfs/dmu_recv.c | 46 +- sys/contrib/openzfs/module/zfs/dmu_tx.c | 7 +- sys/contrib/openzfs/module/zfs/dsl_dataset.c | 8 +- sys/contrib/openzfs/module/zfs/metaslab.c | 72 +- sys/contrib/openzfs/module/zfs/mmp.c | 158 +- sys/contrib/openzfs/module/zfs/range_tree.c | 22 +- sys/contrib/openzfs/module/zfs/sa.c | 15 +- sys/contrib/openzfs/module/zfs/spa.c | 791 ++- sys/contrib/openzfs/module/zfs/spa_log_spacemap.c | 5 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 75 +- .../openzfs/module/{unicode => zfs}/u8_textprep.c | 0 sys/contrib/openzfs/module/zfs/vdev.c | 18 +- sys/contrib/openzfs/module/zfs/vdev_file.c | 3 + sys/contrib/openzfs/module/zfs/vdev_label.c | 10 +- sys/contrib/openzfs/module/zfs/vdev_queue.c | 40 + sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 20 +- sys/contrib/openzfs/module/zfs/zcp_get.c | 8 + sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 16 +- sys/contrib/openzfs/module/zfs/zfs_vnops.c | 83 +- sys/contrib/openzfs/module/zfs/zio_compress.c | 2 +- sys/contrib/openzfs/module/zstd/README.md | 44 +- .../module/zstd/include/zstd_compat_wrapper.h | 271 +- .../openzfs/module/zstd/lib/common/allocations.h | 56 + sys/contrib/openzfs/module/zstd/lib/common/bits.h | 206 + .../openzfs/module/zstd/lib/common/bitstream.h | 210 +- .../openzfs/module/zstd/lib/common/compiler.h | 372 +- sys/contrib/openzfs/module/zstd/lib/common/cpu.h | 40 +- sys/contrib/openzfs/module/zstd/lib/common/debug.h | 57 +- .../module/zstd/lib/common/entropy_common.c | 220 +- .../openzfs/module/zstd/lib/common/error_private.c | 13 +- .../openzfs/module/zstd/lib/common/error_private.h | 104 +- sys/contrib/openzfs/module/zstd/lib/common/fse.h | 143 +- .../module/zstd/lib/common/fse_decompress.c | 206 +- sys/contrib/openzfs/module/zstd/lib/common/huf.h | 287 +- sys/contrib/openzfs/module/zstd/lib/common/mem.h | 284 +- sys/contrib/openzfs/module/zstd/lib/common/pool.c | 81 +- sys/contrib/openzfs/module/zstd/lib/common/pool.h | 25 +- .../module/zstd/lib/common/portability_macros.h | 172 + .../openzfs/module/zstd/lib/common/xxhash.c | 865 --- .../openzfs/module/zstd/lib/common/xxhash.h | 7199 +++++++++++++++++++- .../openzfs/module/zstd/lib/common/zstd_common.c | 44 +- .../openzfs/module/zstd/lib/common/zstd_deps.h | 124 + .../openzfs/module/zstd/lib/common/zstd_internal.h | 345 +- .../openzfs/module/zstd/lib/common/zstd_trace.h | 157 + .../openzfs/module/zstd/lib/compress/clevels.h | 135 + .../module/zstd/lib/compress/fse_compress.c | 249 +- .../openzfs/module/zstd/lib/compress/hist.c | 66 +- .../openzfs/module/zstd/lib/compress/hist.h | 11 +- .../module/zstd/lib/compress/huf_compress.c | 1240 +++- .../module/zstd/lib/compress/zstd_compress.c | 5917 ++++++++++++---- .../zstd/lib/compress/zstd_compress_internal.h | 1017 ++- .../zstd/lib/compress/zstd_compress_literals.c | 163 +- .../zstd/lib/compress/zstd_compress_literals.h | 22 +- .../zstd/lib/compress/zstd_compress_sequences.c | 75 +- .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- .../zstd/lib/compress/zstd_compress_superblock.c | 693 +- .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- .../openzfs/module/zstd/lib/compress/zstd_cwksp.h | 484 +- .../module/zstd/lib/compress/zstd_double_fast.c | 611 +- .../module/zstd/lib/compress/zstd_double_fast.h | 32 +- .../openzfs/module/zstd/lib/compress/zstd_fast.c | 1039 ++- .../openzfs/module/zstd/lib/compress/zstd_fast.h | 21 +- .../openzfs/module/zstd/lib/compress/zstd_lazy.c | 1665 ++++- .../openzfs/module/zstd/lib/compress/zstd_lazy.h | 184 +- .../openzfs/module/zstd/lib/compress/zstd_ldm.c | 608 +- .../openzfs/module/zstd/lib/compress/zstd_ldm.h | 27 +- .../module/zstd/lib/compress/zstd_ldm_geartab.h | 107 + .../openzfs/module/zstd/lib/compress/zstd_opt.c | 1004 ++- .../openzfs/module/zstd/lib/compress/zstd_opt.h | 58 +- .../module/zstd/lib/compress/zstd_preSplit.c | 239 + .../module/zstd/lib/compress/zstd_preSplit.h | 34 + .../module/zstd/lib/decompress/huf_decompress.c | 1858 +++-- .../zstd/lib/decompress/huf_decompress_amd64.S | 603 ++ .../module/zstd/lib/decompress/zstd_ddict.c | 24 +- .../module/zstd/lib/decompress/zstd_ddict.h | 4 +- .../module/zstd/lib/decompress/zstd_decompress.c | 897 ++- .../zstd/lib/decompress/zstd_decompress_block.c | 1565 +++-- .../zstd/lib/decompress/zstd_decompress_block.h | 24 +- .../zstd/lib/decompress/zstd_decompress_internal.h | 79 +- sys/contrib/openzfs/module/zstd/lib/zstd.h | 1848 ++++- .../module/zstd/lib/{common => }/zstd_errors.h | 45 +- sys/contrib/openzfs/module/zstd/zfs_zstd.c | 35 +- sys/contrib/openzfs/module/zstd/zstd-in.c | 93 +- sys/contrib/openzfs/rpm/Makefile.am | 1 + sys/contrib/openzfs/scripts/Makefile.am | 1 + sys/contrib/openzfs/scripts/objtool-wrapper.in | 4 +- sys/contrib/openzfs/scripts/spdxcheck.pl | 25 +- sys/contrib/openzfs/scripts/zfs-tests.sh | 16 +- sys/contrib/openzfs/tests/Makefile.am | 1 + sys/contrib/openzfs/tests/runfiles/common.run | 15 +- sys/contrib/openzfs/tests/runfiles/linux.run | 8 +- sys/contrib/openzfs/tests/runfiles/sanity.run | 3 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 - sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 1 + .../tests/zfs-tests/callbacks/zfs_dbgmsg.ksh | 2 +- .../openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh | 2 +- sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 +- .../tests/zfs-tests/cmd/checksum/sha2_test.c | 39 +- .../openzfs/tests/zfs-tests/cmd/mmap_seek.c | 2 +- sys/contrib/openzfs/tests/zfs-tests/cmd/setlease.c | 126 + .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +- .../openzfs/tests/zfs-tests/include/libtest.shlib | 54 +- .../openzfs/tests/zfs-tests/include/tunables.cfg | 4 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 18 + .../bclone/bclone_crossfs_corner_cases.ksh | 9 + .../bclone/bclone_crossfs_corner_cases_limited.ksh | 9 + .../functional/bclone/bclone_crossfs_data.ksh | 7 + .../functional/bclone/bclone_crossfs_embedded.ksh | 7 + .../functional/bclone/bclone_diffprops_all.ksh | 28 +- .../bclone/bclone_diffprops_checksum.ksh | 18 +- .../bclone/bclone_diffprops_compress.ksh | 16 +- .../functional/bclone/bclone_diffprops_copies.ksh | 18 +- .../bclone/bclone_diffprops_recordsize.ksh | 18 +- .../tests/functional/bclone/bclone_prop_sync.ksh | 12 +- .../bclone/bclone_samefs_corner_cases.ksh | 7 + .../bclone/bclone_samefs_corner_cases_limited.ksh | 7 + .../tests/functional/bclone/bclone_samefs_data.ksh | 6 + .../functional/bclone/bclone_samefs_embedded.ksh | 6 + .../functional/block_cloning/block_cloning.kshlib | 24 - .../block_cloning_after_device_removal.ksh | 61 + .../tests/functional/cache/cache_012_pos.ksh | 5 + .../cli_root/zfs_clone/zfs_clone_nomount.ksh | 66 + .../zfs_rewrite/zfs_rewrite_skip_clone.ksh | 83 + .../zfs_rewrite/zfs_rewrite_skip_snapshot.ksh | 74 + .../zpool_create/zpool_create_tempname.ksh | 2 + .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + .../functional/cli_root/zpool_get/zpool_get.cfg | 2 + .../cli_root/zpool_get/zpool_get_parsable.cfg | 4 +- .../cli_root/zpool_set/vdev_set_scheduler.ksh | 93 + .../zfs_send_delegation_user/zfs_send_usertest.ksh | 11 +- .../functional/events/zed_synchronous_zedlet.ksh | 6 +- .../zfs-tests/tests/functional/l2arc/l2arc.cfg | 3 +- .../functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh | 138 + .../functional/l2arc/l2arc_dwpd_reimport_pos.ksh | 169 + .../l2arc/l2arc_multidev_scaling_pos.ksh | 162 + .../l2arc/l2arc_multidev_throughput_pos.ksh | 133 + .../zfs-tests/tests/functional/lease/cleanup.ksh | 26 + .../tests/functional/lease/lease_setlease.ksh | 44 + .../zfs-tests/tests/functional/lease/setup.ksh | 27 + .../tests/zfs-tests/tests/functional/mmp/mmp.cfg | 6 +- .../zfs-tests/tests/functional/mmp/mmp.kshlib | 47 +- .../tests/functional/mmp/mmp_active_import.ksh | 42 +- .../tests/functional/mmp/mmp_concurrent_import.ksh | 133 + .../tests/functional/mmp/mmp_exported_import.ksh | 16 +- .../zfs-tests/tests/functional/mmp/mmp_hostid.ksh | 8 +- .../tests/functional/mmp/mmp_inactive_import.ksh | 20 +- .../zfs-tests/tests/functional/mmp/mmp_on_off.ksh | 4 +- .../tests/functional/mmp/mmp_on_thread.ksh | 4 +- .../tests/functional/mmp/mmp_on_uberblocks.ksh | 14 +- .../zfs-tests/tests/functional/mmp/mmp_on_zdb.ksh | 3 +- .../tests/functional/mmp/mmp_reset_interval.ksh | 8 +- .../functional/mmp/mmp_write_distribution.ksh | 2 +- .../tests/functional/mmp/mmp_write_uberblocks.ksh | 4 +- .../tests/functional/mmp/multihost_history.ksh | 2 + .../tests/functional/mount/mount_loopback.ksh | 3 +- .../zfs-tests/tests/functional/pam/pam_basic.ksh | 58 + .../tests/functional/pam/pam_change_unmounted.ksh | 13 +- .../tests/functional/pam/pam_nounmount.ksh | 14 +- .../tests/zfs-tests/tests/functional/pam/setup.ksh | 11 + .../tests/functional/pam/utilities.kshlib.in | 6 + .../rsend/send_large_blocks_incremental.ksh | 83 + .../functional/rsend/send_large_blocks_initial.ksh | 86 + .../rsend/send_large_microzap_incremental.ksh | 91 + .../rsend/send_large_microzap_transitive.ksh | 100 + .../tests/functional/snapshot/snapshot_018_pos.ksh | 52 +- .../zfs-tests/tests/functional/trim/trim_l2arc.ksh | 5 +- sys/contrib/openzfs/udev/Makefile.am | 1 + sys/modules/dtrace/fasttrap/Makefile | 2 +- sys/modules/zfs/Makefile | 8 +- sys/modules/zfs/zfs_config.h | 24 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 513 files changed, 34137 insertions(+), 10963 deletions(-) diff --cc cddl/lib/libzfs/Makefile index a034118a6f5b,000000000000..8f364d2c2bb1 mode 100644,000000..100644 --- a/cddl/lib/libzfs/Makefile +++ b/cddl/lib/libzfs/Makefile @@@ -1,109 -1,0 +1,105 @@@ +.PATH: ${ZFSTOP}/module/icp +.PATH: ${ZFSTOP}/module/zcommon +.PATH: ${ZFSTOP}/lib/libzfs +.PATH: ${ZFSTOP}/lib/libzfs/os/freebsd - .PATH: ${ZFSTOP}/lib/libshare +.PATH: ${ZFSTOP}/include +.PATH: ${ZFSTOP}/module/zstd +.PATH: ${ZFSTOP}/module/zstd/lib + +PACKAGE= zfs +LIB_PACKAGE= + +LIB= zfs +LIBADD= \ + avl \ + bsdxml \ + crypto \ + geom \ + m \ + md \ + nvpair \ + pthread \ + rt \ + umem \ + util \ + z \ + zfs_core \ + zutil + +INCS= libzfs.h +USER_C = \ - libzfs_changelist.c \ - libzfs_config.c \ - libzfs_crypto.c \ - libzfs_dataset.c \ - libzfs_diff.c \ - libzfs_import.c \ - libzfs_iter.c \ - libzfs_mount.c \ - libzfs_pool.c \ - libzfs_sendrecv.c \ - libzfs_status.c \ - libzfs_util.c ++ libzfs_changelist.c \ ++ libzfs_config.c \ ++ libzfs_crypto.c \ ++ libzfs_dataset.c \ ++ libzfs_diff.c \ ++ libzfs_import.c \ ++ libzfs_iter.c \ ++ libzfs_mount.c \ ++ libzfs_pool.c \ ++ libzfs_sendrecv.c \ ++ libzfs_share.c \ ++ libzfs_share_nfs.c \ ++ libzfs_status.c \ ++ libzfs_util.c \ ++ os/freebsd/libzfs_share_nfs.c \ ++ os/freebsd/libzfs_share_smb.c + +# FreeBSD +USER_C += \ + libzfs_compat.c \ + libzfs_zmount.c + - # libshare - USER_C += \ - libshare.c \ - nfs.c \ - os/freebsd/nfs.c \ - os/freebsd/smb.c - +KERNEL_C = \ + cityhash.c \ + zfeature_common.c \ + zfs_comutil.c \ + zfs_deleg.c \ + zfs_fletcher.c \ + zfs_fletcher_superscalar.c \ + zfs_fletcher_superscalar4.c \ + zfs_namecheck.c \ + zfs_prop.c \ + zfs_valstr.c \ + zpool_prop.c \ + zprop_common.c + +ARCH_C = +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ARCH_C += zfs_fletcher_intel.c \ + zfs_fletcher_sse.c +CFLAGS += -DHAVE_SSE2 +.endif +.if ${MACHINE_ARCH} == "amd64" +ARCH_C += zfs_fletcher_avx512.c +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +ARCH_C += zfs_fletcher_aarch64_neon.c +.endif + +SRCS= $(USER_C) $(KERNEL_C) $(ARCH_C) + +WARNS?= 2 +SHLIB_MAJOR= 4 +CSTD= c99 +CFLAGS+= -DIN_BASE +CFLAGS+= -I${ZFSTOP}/include +CFLAGS+= -I${ZFSTOP}/include/os/freebsd +CFLAGS+= -I${ZFSTOP}/lib/libspl/include +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd +CFLAGS+= -I${ZFSTOP}/lib/libshare +CFLAGS+= -I${ZFSTOP}/lib/libzpool/include +CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include +CFLAGS+= -I${SRCTOP}/sys +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include +CFLAGS+= -I${ZFSTOP}/module/icp/include +CFLAGS+= -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h +CFLAGS+= -DHAVE_ISSETUGID +CFLAGS+= -DHAVE_EXECVPE +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h +CFLAGS+= -DSYSCONFDIR=\"/etc\" +CFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\" +CFLAGS+= -DZFSEXECDIR=\"${LIBEXECDIR}/zfs\" + +.include diff --cc cddl/lib/libzpool/Makefile index ade864790f1c,000000000000..74a5f6ccb438 mode 100644,000000..100644 --- a/cddl/lib/libzpool/Makefile +++ b/cddl/lib/libzpool/Makefile @@@ -1,343 -1,0 +1,342 @@@ +.PATH: ${ZFSTOP}/lib/libzpool + +# ZFS_COMMON_SRCS +.PATH: ${ZFSTOP}/module/zfs +.PATH: ${ZFSTOP}/module/zcommon +.PATH: ${ZFSTOP}/module/unicode +# LUA_SRCS +.PATH: ${ZFSTOP}/module/lua +# ZSTD_SRCS +.PATH: ${ZFSTOP}/module/zstd +.PATH: ${ZFSTOP}/module/zstd/lib/common +.PATH: ${ZFSTOP}/module/zstd/lib/compress +.PATH: ${ZFSTOP}/module/zstd/lib/decompress + +.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S) +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} +ATOMIC_SRCS= opensolaris_atomic.S +ACFLAGS+= -Wa,--noexecstack +.else +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern +ATOMIC_SRCS= opensolaris_atomic.c +.endif + +.if ${MACHINE_ARCH} == "powerpc" +# Don't waste GOT entries on small data. +PICFLAG= -fPIC +.endif + +PACKAGE= zfs +LIB_PACKAGE= + +LIB= zpool + +USER_C = \ + arc_os.c \ + kernel.c \ + util.c \ + zfs_debug.c + +.PATH: ${ZFSTOP}/module/os/linux/zfs + +KERNEL_C = \ + simd_stat.c \ + zfeature_common.c \ + zfs_comutil.c \ + zfs_deleg.c \ + zfs_fletcher.c \ + zfs_fletcher_superscalar.c \ + zfs_fletcher_superscalar4.c \ + zfs_namecheck.c \ + zfs_prop.c \ + zfs_zstd.c \ + zpool_prop.c \ + zprop_common.c \ + abd.c \ + abd_os.c \ + aggsum.c \ + arc.c \ + blake3_zfs.c \ + blkptr.c \ + bplist.c \ + bpobj.c \ + bptree.c \ + bqueue.c \ + btree.c \ + brt.c \ + cityhash.c \ + dbuf.c \ + dbuf_stats.c \ + ddt.c \ + ddt_log.c \ + ddt_stats.c \ + ddt_zap.c \ + dmu.c \ + dmu_diff.c \ + dmu_direct.c \ + dmu_object.c \ + dmu_objset.c \ + dmu_recv.c \ + dmu_redact.c \ + dmu_send.c \ + dmu_traverse.c \ + dmu_tx.c \ + dmu_zfetch.c \ + dnode.c \ + dnode_sync.c \ + dsl_bookmark.c \ + dsl_dataset.c \ + dsl_deadlist.c \ + dsl_deleg.c \ + dsl_dir.c \ + dsl_crypt.c \ + dsl_pool.c \ + dsl_prop.c \ + dsl_scan.c \ + dsl_synctask.c \ + dsl_destroy.c \ + dsl_userhold.c \ + edonr_zfs.c \ + entropy_common.c \ + error_private.c \ + fm.c \ + fse_compress.c \ + fse_decompress.c \ + gzip.c \ + hist.c \ + hkdf.c \ + huf_compress.c \ + huf_decompress.c \ + lzjb.c \ + lz4.c \ + lz4_zfs.c \ + metaslab.c \ + mmp.c \ + multilist.c \ + objlist.c \ + pathname.c \ + pool.c \ + range_tree.c \ + refcount.c \ + rrwlock.c \ + sa.c \ + sha2_zfs.c \ + skein_zfs.c \ + spa.c \ + spa_checkpoint.c \ + spa_config.c \ + spa_errlog.c \ + spa_history.c \ + spa_log_spacemap.c \ + spa_misc.c \ + spa_stats.c \ + space_map.c \ + space_reftree.c \ + txg.c \ ++ u8_textprep.c \ + trace.c \ + uberblock.c \ + unique.c \ + vdev.c \ + vdev_draid.c \ + vdev_draid_rand.c \ + vdev_file.c \ + vdev_indirect_births.c \ + vdev_indirect.c \ + vdev_indirect_mapping.c \ + vdev_initialize.c \ + vdev_label.c \ + vdev_label_os.c \ + vdev_mirror.c \ + vdev_missing.c \ + vdev_queue.c \ + vdev_raidz.c \ + vdev_raidz_math_aarch64_neon.c \ + vdev_raidz_math_aarch64_neonx2.c \ + vdev_raidz_math_avx2.c \ + vdev_raidz_math_avx512bw.c \ + vdev_raidz_math_avx512f.c \ + vdev_raidz_math.c \ + vdev_raidz_math_scalar.c \ + vdev_rebuild.c \ + vdev_removal.c \ + vdev_root.c \ + vdev_trim.c \ - xxhash.c \ + zap.c \ + zap_leaf.c \ + zap_micro.c \ + zcp.c \ + zcp_get.c \ + zcp_global.c \ + zcp_iter.c \ + zcp_set.c \ + zcp_synctask.c \ + zfeature.c \ + zfs_byteswap.c \ + zfs_chksum.c \ + zfs_crrd.c \ + zfs_debug_common.c \ + zfs_fm.c \ + zfs_fuid.c \ + zfs_impl.c \ + zfs_sa.c \ + zfs_znode.c \ + zfs_racct.c \ + zfs_ratelimit.c \ + zfs_rlock.c \ + zil.c \ + zio.c \ + zio_checksum.c \ + zio_compress.c \ + zio_crypt.c \ + zio_inject.c \ + zle.c \ + zrlock.c \ + zstd_common.c \ + zstd_compress.c \ + zstd_compress_literals.c \ + zstd_compress_sequences.c \ + zstd_compress_superblock.c \ + zstd_ddict.c \ + zstd_decompress.c \ + zstd_decompress_block.c \ + zstd_double_fast.c \ + zstd_fast.c \ + zstd_lazy.c \ + zstd_ldm.c \ + zstd_opt.c \ ++ zstd_preSplit.c \ + zthr.c + +ARCH_C = +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ARCH_C += vdev_raidz_math_sse2.c \ + vdev_raidz_math_ssse3.c \ + zfs_fletcher_intel.c \ + zfs_fletcher_sse.c +CFLAGS += -DHAVE_SSE2 -DHAVE_SSE3 +.endif +.if ${MACHINE_ARCH} == "amd64" +ARCH_C += zfs_fletcher_avx512.c +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ + -DHAVE_AVX512BW +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +ARCH_C += zfs_fletcher_aarch64_neon.c +.endif + +LUA_C = \ + lapi.c \ + lauxlib.c \ + lbaselib.c \ + lcode.c \ + lcompat.c \ + lcorolib.c \ + lctype.c \ + ldebug.c \ + ldo.c \ + lfunc.c \ + lgc.c \ + llex.c \ + lmem.c \ + lobject.c \ + lopcodes.c \ + lparser.c \ + lstate.c \ + lstring.c \ + lstrlib.c \ + ltable.c \ + ltablib.c \ + ltm.c \ + lvm.c \ + lzio.c + - UNICODE_C = u8_textprep.c - - SRCS+= ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C} ++SRCS+= ${USER_C} ${KERNEL_C} ${LUA_C} ${ARCH_C} + *** 15577 LINES SKIPPED *** From nobody Sat Mar 14 15:28:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY4y82Mxbz6T4nN for ; Sat, 14 Mar 2026 15:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fY4y81bqgz3RY3 for ; Sat, 14 Mar 2026 15:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXHxFtB4FyF6744SWrNNUCU+7FCJ4VV2u74les608g0=; b=YAGSelecyiLDFMk4fApnAh2fyMUhVm2TYWc99p9xQhhdDD+s4OMWqFsiaoK/1rDAKGta4S eFPjbRR9g8NBLIvhZjznj9GhbCu6sHxdcI8/5Gindq/EC2Imnyc5VvvNnMrnEBoKBYuwVC J6BdftMQsZ3mXq056HqM6nEPHyygw1lUqBL5yuOLP/uCcYm6VIoD+NiLaK1bIdivl55pFH H2pNZpKWR9RycWtJe7IA/6ptu6Qf93x61uFplJQepA2bG3LpAmmsi5B7YrtDf1Je93CAtn iOm+QXpd/nAU5HF/pOhuHvZUvFSaY2t4INizesm7b8MVHcr5RDSH//nGgvj17A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773502128; a=rsa-sha256; cv=none; b=lNaPXw4pRTpnJky5ydAUB2tN6seb9yJ0AbxOUzh4fZHs9EzL+3rz5nbJAQsG07MSfo1nlO DNTT4CA6X3NYUbb+hN+tOfKDHI8s/XDH1uK+zFAoqljQX2VmS9UszhSFgyW76qGUkXa3Bx 6Pr+HcrxMULMCsdDXCtK+px6123XWribzVue91keJzGburg7AWfSY7QCbRIT86Eju0KMbO X/1c4ij3hbWVTx6iNu3pm5k+utMIHhrLlS5KQIz/bFUeW43C0IOrxnwEtClyp/iA8bB6Q/ 06WlbMZFuDe4u+EIxCrgRQonLqMrTgRDn0I/HcylqakW/Con0fD8MPWQVh0wfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXHxFtB4FyF6744SWrNNUCU+7FCJ4VV2u74les608g0=; b=qSn7s0PtKuHwjRc50tvZSpEqkl7vJ/cBVBkBm3V6Jx5atlbry3ZK7YXEFfke7eX2Bc8XVq 4iiPIzqG3AgECU7xWsVWjsj/l+Skohd6X423VZXLQDJPFLvRh4qAFGv7ksL8YZODGXMuTa x8XRDGLMIgG0jYOOlVt5VKbGNLYJMds/VpexnB/Xy1dYcY9MCu5VhX9ib2ZNdyPQAMPUql 8sAai63KNlwT+ENCKRmKXgAUwp7YR7/Xd8u53qQCk2t7tEuuMP6nfsXSCDuiorfxD1/PwV heTBRHy0zK5uIF5FoNnjfTLc/N2MZrTupOaPWb+VrN4tW4CQP7aD0CFW/iDsBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fY4y80vscz1MZy for ; Sat, 14 Mar 2026 15:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45b20 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 15:28:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Laurent Chardon Subject: git: 4efe7fa072d5 - main - committers-ports.dot: Add new committer (laurent) List-Id: Commit messages for the main 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: laurent X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4efe7fa072d5ec47b673a3c82393c7db9a3568c0 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 15:28:48 +0000 Message-Id: <69b57eb0.45b20.2797f164@gitrepo.freebsd.org> The branch main has been updated by laurent: URL: https://cgit.FreeBSD.org/src/commit/?id=4efe7fa072d5ec47b673a3c82393c7db9a3568c0 commit 4efe7fa072d5ec47b673a3c82393c7db9a3568c0 Author: Laurent Chardon AuthorDate: 2026-03-14 09:09:08 +0000 Commit: Laurent Chardon CommitDate: 2026-03-14 15:26:34 +0000 committers-ports.dot: Add new committer (laurent) Update Mentor (thierry) and Mentee (laurent) Information. Reviewed by: thierry (mentor) Approved by: thierry (mentor) Differential Revision: https://reviews.freebsd.org/D55856 --- share/misc/committers-ports.dot | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index 416695aac3b6..447e1263e9f6 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -228,6 +228,7 @@ kevans [label="Kyle Evans\nkevans@FreeBSD.org\n2020/02/14"] knu [label="Akinori Musha\nknu@FreeBSD.org\n2000/03/22"] krion [label="Kirill Ponomarew\nkrion@FreeBSD.org\n2003/07/20"] kwm [label="Koop Mast\nkwm@FreeBSD.org\n2004/09/14"] +laurent [label="Laurent Chardon\nlaurent@FreeBSD.org\n2026/03/03"] lawrance [label="Sam Lawrance\nlawrance@FreeBSD.org\n2005/04/11\n2007/02/21"] lbartoletti [label="Loïc Bartoletti\nlbartoletti@FreeBSD.org\n2020/01/02"] lcook [label="Lewis Cook\nlcook@FreeBSD.org\n2021/01/21"] @@ -839,8 +840,9 @@ tcberner -> yuri tcberner -> zirias thierry -> jadawin -thierry -> riggs +thierry -> laurent thierry -> pfg +thierry -> riggs timur -> kbowling From nobody Sat Mar 14 15:37:08 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY57m5sTtz6T5gR for ; Sat, 14 Mar 2026 15:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fY57m5C4Fz3TLX for ; Sat, 14 Mar 2026 15:37:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=thIC6H/JOLKEHX94yRpUAP6oN7C49JgGOHPf4yfqL90=; b=BMohnT50bGVVbqUJOnUUveXn77rMoHwXKd7rTViKt+QNiuheQwyz6Ely2O6ZuHQY6Hr//R CurDgVbaodtmmKGu3H672tIbCUbrbjX0l3W1UfAD34og2YMf3/JW028XKNyeWBthqejUVC Ez1gdf+HFaa23rGLz4awi/CXV8v1roDxX+/TOedXh3zZPaMHZigwYqtjPNA1hc2r+S9svv t2LQyaQLZNw4BsWZGVnxU6an5XKZJLszjnOiqacFG4ehP4LuwzIiXboIQR+vs15L/HPD2n ckUN0zsNF7hkMjafH1Byz1A9uHvA+1uyIhlht3gk+7gPu8na/ftsQvyyo8nV2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773502628; a=rsa-sha256; cv=none; b=cHosz0zChoqqOJHTxZC4PUlaR2DmoBfgu7m8r3hKQUo82BQg0M7iE0KmT4l+K/fI4PseJN J+wHN4v2Zhp1I6QlpcyvV606224fJXShnISz4F0/DUHWjIawA0F3YunLPtNHIjP6AozmMQ Nh7TReiNIoNKat3rMPWvWnBK0ravnJDsUiZtMPdJ9dPfTaUwsS0zz0UmM8SvJKh54qEDu/ bjbV7nV7MZ+n/1ZV4guYwin7EIntEtW4+65tVl9COFIETXzoi6g87dUSnKAV0939ZXNmB9 7BrrcRroE3b+6DclrQ+6Z18mPCkZKil27BZXakLtuVvJFCCz+Dr+ceqUsbvCcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=thIC6H/JOLKEHX94yRpUAP6oN7C49JgGOHPf4yfqL90=; b=Mgsru4Of/LCJRh1MC3wftDoWxYrhQjwug1ZtlCaZzhISZQuhZQLUsW1YQizf0M+g/orm1K xjL/ufmYDv1UuyTCwfmBzFB0pQYF+7TF6aZ+rnuGaN8bZsAp+Zf8L71E3lFh2rQVvCbcyD A1t1mi1IS1xLs8I/jRLviA8Qj5DRgdVMaN7mqWY3XeOnt0m+vae58vGIUe0gflLw/GHLxW uIPRcz6Gz7z14fCdY5+iK8DcvHzvNL2IApKwWLeeJEc4nGm3XfY0oit2cYBu4r7LNUYrjt 9ixbv/M+FY6J408vHmyaYDn4R73IBW5nRSiT0CVNyHLdDhGo0fLfZka/5A7qpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fY57m4GSfz1N3w for ; Sat, 14 Mar 2026 15:37:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45b43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 15:37:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: 736d8852e190 - main - tests/fusefs: fix sign-compare warning on armv7 List-Id: Commit messages for the main 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: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 736d8852e190f69dc93206ed3fb2d1f712dc3ad1 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 15:37:08 +0000 Message-Id: <69b580a4.45b43.712f8ac1@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=736d8852e190f69dc93206ed3fb2d1f712dc3ad1 commit 736d8852e190f69dc93206ed3fb2d1f712dc3ad1 Author: Siva Mahadevan AuthorDate: 2026-03-14 03:48:31 +0000 Commit: Siva Mahadevan CommitDate: 2026-03-14 15:32:16 +0000 tests/fusefs: fix sign-compare warning on armv7 Fixes: 7e68af7ce2c1b892954df415774fe59fd2f1b62f Reviewed by: asomers Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D55846 --- tests/sys/fs/fusefs/read.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/sys/fs/fusefs/read.cc b/tests/sys/fs/fusefs/read.cc index 52dad3bc829e..c71b84241c71 100644 --- a/tests/sys/fs/fusefs/read.cc +++ b/tests/sys/fs/fusefs/read.cc @@ -461,10 +461,10 @@ TEST_F(AsyncReadNoAttrCache, read_sizechange) uint64_t ino = 42; mode_t mode = S_IFREG | 0644; int fd; - ssize_t bufsize = strlen(CONTENTS); + size_t bufsize = strlen(CONTENTS); uint8_t buf[bufsize]; - ssize_t size1 = bufsize - 1; - ssize_t size2 = bufsize; + size_t size1 = bufsize - 1; + size_t size2 = bufsize; Sequence seq; expect_lookup(RELPATH, ino); @@ -532,12 +532,12 @@ TEST_F(AsyncReadNoAttrCache, read_sizechange) fd = open(FULLPATH, O_RDONLY); ASSERT_LE(0, fd) << strerror(errno); - ASSERT_EQ(size1, read(fd, buf, bufsize)) << strerror(errno); + ASSERT_EQ(static_cast(size1), read(fd, buf, bufsize)) << strerror(errno); ASSERT_EQ(0, memcmp(buf, CONTENTS, size1)); /* Read again, but this time the server has changed the file's size */ bzero(buf, size2); - ASSERT_EQ(size2, pread(fd, buf, bufsize, 0)) << strerror(errno); + ASSERT_EQ(static_cast(size2), pread(fd, buf, bufsize, 0)) << strerror(errno); ASSERT_EQ(0, memcmp(buf, CONTENTS, size2)); leak(fd); From nobody Sat Mar 14 15:37:09 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY57n5sVcz6T68D for ; Sat, 14 Mar 2026 15:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fY57n5Fybz3TZN for ; Sat, 14 Mar 2026 15:37:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LsaJjLSwZKqQvSiNkHBi2jxL7/J1mkUfVX1QdLYc5Uo=; b=FF78jq2KHm5f6LrcVjguawpHc1p4XHuMPHUAicnKUD6VdcMVj43gGBU+FKPf7mBoq/rUen LBULnB+vnhhoQ4r1pRq8hpplhL8WTPQnXfJl3shsh9lPn8/48yFEySM3CLZK4wEQ1WDS0p 25haRVOf0qIUU4GNtjStUox/Ur44EsdO+LJqC/GQzdAtpReehtfwy+MN73k1L8zcCAMQLE 2zffkKPxgzp2ztgJ9tTNTxDxTvFwk6uWlgpocw0oKsVLUtnyxA0ytuGe0ykR8ju5ytwitn FVGp9KXD798MI/GJLXdyzpVY/Yn4M4I/gcjFJFglkhO0vChcxhoSsGVOOt5yig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773502629; a=rsa-sha256; cv=none; b=Kb4SR3AIIwxNGHr8+bOBkOpujF/IZmxBNqvDdCydUGotkAOVGau0Z5AbXtqX/p+j9LXE8S T98/UbH//3U/Idghe99iQSAK7ItEgdL78pDk+U06BbJJc4b9hsNA3P/8wXJfxzRWD7Rcb5 Zh/Jw3nILyfreuYpbUL3xaViawjtLxvnCYlGKSAMqnDSe9actQ4uiDQw+X2nXTQNCn7RAG /2EUBWzTLaCu9TJftATJFeKKH5ag9LzGQV10x9CvguPQnCuN91EKgWo74w03Gz6NYwD/Lh XpcOR047lt3ttek3ZLPgsjzV8fcalIiQs+auTwW+addRa1XLznCO1ZRR6crpOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773502629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LsaJjLSwZKqQvSiNkHBi2jxL7/J1mkUfVX1QdLYc5Uo=; b=MqTcFlESbaoHq4ypZS654yXr3fveoi3GfYBaYfe72dd463Lw4XEoTHDfhMhsi4LfS7GGlU AyB8CIpK8NHfer2c0eklyplNz71l/74F/zCwPqXVxmS3b4nsP6RWyDmbUu8C1tuXb6K0B1 fK5BBlvVtttCP/m8aiQ1lGRkV8e9J+4/QvjI1WOo5+XAwnThtJ11mDcR3Xc2HEUwe+XW8W yRZ7dfgwgfj1gNc2SEZ1DQ9vHbaKpRq7nIhA+1GvrwrFUlpmXwuWQHBBp2hTSRzoXp6PzN 38+fq7sdSVAGQnEZ4meIfgYZmD67GOxPvc+r5EW89pYAIo5b8SLuOWh1FH0Ejw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fY57n4VhPz1Mrx for ; Sat, 14 Mar 2026 15:37:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4755c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 15:37:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: 922d73540d2d - main - tarfs: swap deprecated ZSTD_resetDStream() with ZSTD_DCtx_reset() List-Id: Commit messages for the main 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: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 922d73540d2d9897e5e8160c445cefa13581564e Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 15:37:09 +0000 Message-Id: <69b580a5.4755c.5160ead3@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=922d73540d2d9897e5e8160c445cefa13581564e commit 922d73540d2d9897e5e8160c445cefa13581564e Author: Siva Mahadevan AuthorDate: 2026-03-14 03:54:46 +0000 Commit: Siva Mahadevan CommitDate: 2026-03-14 15:34:03 +0000 tarfs: swap deprecated ZSTD_resetDStream() with ZSTD_DCtx_reset() ZSTD_resetDStream() is deprecated since 1.5.4: https://github.com/facebook/zstd/commit/5d8cfa6b96a6442ab1251f9de3b47a0eb12561a0 This change is needed to MFV zstd 1.5.7. Approved by: emaste (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55835 --- sys/fs/tarfs/tarfs_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c index e250c5cbce5a..0eff12c21d3f 100644 --- a/sys/fs/tarfs/tarfs_io.c +++ b/sys/fs/tarfs/tarfs_io.c @@ -355,7 +355,7 @@ tarfs_zread_zstd(struct tarfs_zio *zio, struct uio *uiop) if (reset) { zio->ipos = zio->idx[zio->curidx].i; zio->opos = zio->idx[zio->curidx].o; - ZSTD_resetDStream(zstd->zds); + ZSTD_DCtx_reset(zstd->zds, ZSTD_reset_session_only); TARFS_DPF(ZIDX, "%s: skipping to index %u = i %zu o %zu\n", __func__, zio->curidx, (size_t)zio->ipos, (size_t)zio->opos); } else { @@ -511,7 +511,7 @@ fail_unlocked: zio->curidx = 0; zio->ipos = zio->idx[0].i; zio->opos = zio->idx[0].o; - ZSTD_resetDStream(zstd->zds); + ZSTD_DCtx_reset(zstd->zds, ZSTD_reset_session_only); } return (error); } From nobody Sat Mar 14 16:33:37 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fY6Nx5nDdz6TBHq for ; Sat, 14 Mar 2026 16:33:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fY6Nx4zY8z3bSg for ; Sat, 14 Mar 2026 16:33:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773506017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GktTkbi+D5CPIenREaHGbrGtx15zzFlZQMfn/oyjxt8=; b=Xrelk+gCI1mhwGrjvxF97MeXkC4xrvfN19ED7J8uFTzYM+07iqG9uyE7REPQnalnKkJ+mW rRF6+tB1xeRag4u+xtTOoSHEKX5V2+qIOGXUQy+ihtOv1MLsx0XHzLLkC/A/UK0HXqlNBL VQ3osrzXaQLkC5RElzb6HIGpp/6hXwBPAKODXWqvPN3KJrKmKSzD+bVLbpVQZU7t8Xq4qN spNQhr6plCk1+xyPg5kcBMkbBsZbeaSdlKqWwoRqa1XfRpBDrtjycgc5wgFK/DKzyT5Y2T 3B5UZgrLzCUmE4uA7h9YXCcwPWlxRicXQV3nRoaAVoJ10MYMNgi+zA3nH5xTEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773506017; a=rsa-sha256; cv=none; b=COVxcvEg2bmOU6mDpT7py5ucKZ0OPEJuqexko4FVtRmu1SKnjspEZxguwYNAyO7St9xSM2 XaquPd8I5bvHnv/vwf6x3da0skYzOaa58kGOJVgPx6DFRwGA+oBuY8fozb7XlBT78gNUZ0 eyM+KxTtlkrOMDxL6JOeqy7tCue9VnGTSl4p89sDsipP7skuQke80QXEb5DqNRdQLebp6x QSfh0Fst9VTEFndORFRaYzhYQTDf+L4wWs6L6ib4BAEKVgXItN9RatKXIzeGhzyi1LfJbo /7ypoFV9xaeOEBL2+V/rYH8earbvlvgBr2TBxFt5mx5cs0wdfBJOzyzaMSYhYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773506017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GktTkbi+D5CPIenREaHGbrGtx15zzFlZQMfn/oyjxt8=; b=yC2HlYzz0nxmyXX+ZGhQUQ04iBoj2YWoZxqcE5S1mCkr4JJQo416HFhaDpyMlfs7EYDKf+ 8+d3MvzWtzLw7Opi5bzy4zv1fyujA533mHa4csWa9NL4zBdkTL2NlolIkXf148aQiWZ99l Oj8a1LZ+h5cOFhL9gVE6771pe2bFPbGoXmRa1k5mFcKy4bNNg3+OpSyTvfbxIopeTLMSIy LiwmHQnR/eI6jyGz+FD40V41uROopJ1ff1JsSw3Otb9SjZ7hiogFJMoifz5j9Wbees0iFY hb+Lmmx0TMJYLSphG0MKI0ag2g5rST6ASSWLerKiNLfDij4HTMXdJQJSAp2t2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fY6Nx4LFrz1Pn5 for ; Sat, 14 Mar 2026 16:33:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d0b4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 16:33:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 251907ca480e - main - EC2: Fix comment re avoiding unicode List-Id: Commit messages for the main 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 251907ca480eff7f6177f52959b71a6cfce45579 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 16:33:37 +0000 Message-Id: <69b58de1.1d0b4.308129e6@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=251907ca480eff7f6177f52959b71a6cfce45579 commit 251907ca480eff7f6177f52959b71a6cfce45579 Author: Colin Percival AuthorDate: 2026-03-14 16:30:13 +0000 Commit: Colin Percival CommitDate: 2026-03-14 16:33:32 +0000 EC2: Fix comment re avoiding unicode We're avoiding *unicode*, not avoiding *ascii*. Reported by: marck Fixes: 277830b4d3ae ("EC2: Don't use unicode in boot loader") MFC after: 3 days --- release/tools/ec2.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 62d7d1957aaf..4e1260903e06 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -42,7 +42,8 @@ ec2_common() { # Booting quickly is more important than giving users a chance to # access the boot loader via the serial port; but if users turn the - # boot loader back on, avoid ASCII since it breaks the EC2 web console. + # boot loader back on, avoid unicode since it breaks the EC2 web + # console. echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf echo 'loader_menu_frame="ascii"' >> ${DESTDIR}/boot/loader.conf From nobody Sat Mar 14 21:35:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYF5n6RYLz6VR8B for ; Sat, 14 Mar 2026 21:35:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYF5n5lG0z3PDt for ; Sat, 14 Mar 2026 21:35:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773524157; 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; bh=1X2LyRjoco6/kdpgPU2kV0/Xc7r/AK4dYcb6FYYVS/g=; b=diLiUFdtfQW93yfOxDj1idJW/4IyFCn7XsWeq5YTRcYceSqxYxgVJ+xpfKquGXQTdGK3KF b7cljmS/T9XaSSNww2rG57tWwWE3xsHGMjgPUdmfOZVUZMZqQpuIRw3G1slqvC6fQupovW /DGJjTV0PiIWDk3YIiBljZPWIXJnv8M8+rrOyVCZq2bU0CaxMmrqEmZ1Cug4ML5NPz2MEM FmABMfbfWZS6/l8fXBrQGCThINfL2FBnHOSPdwSJYdV1FZ9HSZELchG6bPlY3UnJFh7+5r MBbLRnSZcZ7E8AyUvJjJH6fs2k19K0Gd5nt14So9sKF/I80t49oLUrpMAiUaKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773524157; a=rsa-sha256; cv=none; b=eisKiakMyDMcU/Wwr9LCEaQ19cSGsmKhE4Bjrntpon8AymVQxbaxy+9GkSFsYmC+TBeC4i 08HLF7UCAdNdy3Tuk1dYJMsHMELuRhkRDDxgczvwbs4XaNXt9iFvU1KpKBNqS5J4WvG98M jKCbhSTakpmPClRg5KvDxWQe1pgT1hbVyt6STCxl/la/MApRS/5545ONg5WaRWxHphEA/T 5dbOV2l1OjTtLEJ9uOHM8pNVKqoRTGFvjDs8YsUgaShXVxibdtRJ6F9prVhb0xC2Ccv4y5 FbscXhyv4djsMCJ2k2aCImVDmWrUJOIdjXDnaqr46OttR8m6SfcJhOWVEb9CWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773524157; 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; bh=1X2LyRjoco6/kdpgPU2kV0/Xc7r/AK4dYcb6FYYVS/g=; b=YTTSQiox84B3eSG3KD3uxuPpqFEAwXN2DmSpPGIgBrf53FYq+L5l6pjyQFlmz7L4wcIQiW 71XlWu7TusVR/+QVeF4rc//ZnnIoH5BTl/RYnm2K1GaJFdB9FYSs53onP6lvMvkeYRfr9I YPONWDplOPtX5KIDzatJbkzxfXHV2+LsfHfP15ZLcyCHw2C/dve0TecIbEv+3TKMPp8s8+ G+zGkQeTVjhfr1gCgABrepwSmHY5RsmFlLrY5euKWD35FL+DSQP9Ck6bvZSRhHOhBsGkjO U6w6CJ6jcAqQ9skqYyDht8RLeFrw332VDu0+D+2Jl6mb4F7lO+CS9e1982PGhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYF5n5G2gz4XH for ; Sat, 14 Mar 2026 21:35:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44922 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 14 Mar 2026 21:35:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Adrian Chadd Subject: git: e6f4e4ab8a51 - main - re(4), rge(4): improve Realtek driver man pages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6f4e4ab8a51f5bec178f5d937e541e227efb561 Auto-Submitted: auto-generated Date: Sat, 14 Mar 2026 21:35:52 +0000 Message-Id: <69b5d4b8.44922.35c839d@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=e6f4e4ab8a51f5bec178f5d937e541e227efb561 commit e6f4e4ab8a51f5bec178f5d937e541e227efb561 Author: Christos Longros AuthorDate: 2026-03-14 21:35:20 +0000 Commit: Adrian Chadd CommitDate: 2026-03-14 21:35:20 +0000 re(4), rge(4): improve Realtek driver man pages Add D-Link DGE-530(T) and Killer E2600 to the re(4) HARDWARE list. Both are supported by the driver but were missing from the man page. Also add cross-references between re(4) and rge(4) in SEE ALSO, as both are Realtek NIC drivers. Signed-off-by: Christos Longros Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D55745 --- share/man/man4/re.4 | 5 +++++ share/man/man4/rge.4 | 1 + 2 files changed, 6 insertions(+) diff --git a/share/man/man4/re.4 b/share/man/man4/re.4 index 980247af142d..1a255ccf0db6 100644 --- a/share/man/man4/re.4 +++ b/share/man/man4/re.4 @@ -155,6 +155,10 @@ Corega CG-LAPCIGT Gigabit Ethernet (8169S) .It D-Link DGE-528(T) Gigabit Ethernet (8169S) .It +D-Link DGE-530(T) Gigabit Ethernet (8169S) +.It +Killer E2600 Gigabit Ethernet (8168) +.It Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S) .It LevelOne GNC-0105T (8169S) @@ -237,6 +241,7 @@ the network connection (cable). .Xr netintro 4 , .Xr ng_ether 4 , .Xr polling 4 , +.Xr rge 4 , .Xr rgephy 4 , .Xr vlan 4 , .Xr ifconfig 8 diff --git a/share/man/man4/rge.4 b/share/man/man4/rge.4 index 1ef8c1b34fc1..a8266c439b83 100644 --- a/share/man/man4/rge.4 +++ b/share/man/man4/rge.4 @@ -146,6 +146,7 @@ the network connection (cable). .Xr netintro 4 , .Xr ng_ether 4 , .Xr polling 4 , +.Xr re 4 , .Xr vlan 4 , .Xr ifconfig 8 .Rs From nobody Sat Mar 14 23:40:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYHsy1J80z6Vc6R; Sat, 14 Mar 2026 23:40:54 +0000 (UTC) (envelope-from me@svmhdvn.name) Received: from mx1.webnames.ca (mx1.webnames.ca [209.15.37.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.webnames.ca", Issuer "RapidSSL TLS RSA CA G1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYHsx4Np5z3Zsp; Sat, 14 Mar 2026 23:40:53 +0000 (UTC) (envelope-from me@svmhdvn.name) Authentication-Results: mx1.freebsd.org; none Received: from webnames.ca ([10.9.9.180]) by mx1.webnames.ca with ESMTPS id 62ENejA3023691-62ENejA5023691 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=CAFAIL); Sat, 14 Mar 2026 16:40:46 -0700 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=svmhdvn.name; s=mail-1768750869; bh=GBA/chMoD44QwOGQhPSskVA/JOWadxaJevJ8J3Ghv6g=; h=In-Reply-To:References:To:Cc:From:Subject:Message-Id:Date:Content-Type: Content-Transfer-Encoding:Mime-Version; b=ABYaLtSroZSsdE8GBY/qsr1vGVJMMt8VA5d pq1jOb+RqraoDj1DpSdP2zfgsYLCoOJ/KaSEAu4VO0dYfD7RTha4FWM+gUSHxLJ7j8/e866lQGGWy 75yt/JEdwmyOO7v1FEjw/zNjzxj96R23+jiN1BaVsfeQHzT9aknr+mBeo8wPIvLKDkliisuq1GOdF jWRqGebKV2psVi3BcaGuz9KGJBRT5UtqpdOPjelRKGyyj1Hk5iGKTDmcp6D9ZWUzpUkZIOjVQUq/R TqJawBOn5rCuhXcyZqpEJbKSQYv3cc6BYlcIklk4ek+j3RjfkTLImneqk+JqvOXf6ajdagf5ttbA= = Received: from [64.72.237.20] (account me@svmhdvn.name HELO localhost) by mail1.webnames.ca (CommuniGate SPEC SMTP 8.0.9) with ESMTPA id 229986475; Sat, 14 Mar 2026 16:40:44 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sat, 14 Mar 2026 19:40:44 -0400 Message-Id: Subject: Re: git: 8a62a2a5659d - main - zfs: merge openzfs/zfs@f8e5af53e From: "Siva Mahadevan" Cc: To: "Martin Matuska" , , , X-Mailer: aerc 0.21.0 References: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> In-Reply-To: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> X-FEAS-BEC-Info: WlpIGw0aAQkEARIJHAEHBlJSCRoLAAEeDUhZUEhYSFhIWUhZXkguLT4lWFpYWFhYWlhZW1hfSFldSAUNKBseBQAMHgZGBgkFDUhYSFlcSAUFKA4aDQ0KGwxGBxoPSFhIWkhZWkheXEZfWkZaW19GWlhIUEhYSFhIWUhYSFhIWEhbWUgMDR5FCwcFBQEcG0UbGgtFCQQEKA4aDQ0KGwxGBxoPSFg= X-FEAS-Client-IP: 10.9.9.180 X-FE-Last-Public-Client-IP: 64.72.237.20 X-FE-Policy-ID: 1:3:0:SYSTEM 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:13768, ipnet:209.15.37.0/24, country:CA] X-Rspamd-Queue-Id: 4fYHsx4Np5z3Zsp X-Spamd-Bar: ---- On Sat Mar 14, 2026 at 36:00 UTC, Martin Matuska wrote: > The branch main has been updated by mm: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D8a62a2a5659d1839d8799b4274= c04469d7f17c78 > > commit 8a62a2a5659d1839d8799b4274c04469d7f17c78 > Merge: f91464171d61 f8e5af53e92f > Author: Martin Matuska > AuthorDate: 2026-03-14 12:14:56 +0000 > Commit: Martin Matuska > CommitDate: 2026-03-14 12:14:56 +0000 > > zfs: merge openzfs/zfs@f8e5af53e > =20 > Notable upstream pull request merges: > #17358 4975430cf Add vdev property to disable vdev scheduler > #18031 c77f17b75 Add snapshots_changed_nsecs dataset property > #18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly crea= ted > datasets > #18089 -multiple Zstd: Update bundled library to version 1.5.7 > #18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the > snapshot > #18093 -multiple L2ARC: Rework write throttling with DWPD rate limit= ing > and parallel writes > #18095 2dbd6af5e Rename several printf attributes declarations to > __printf__ > #18096 8605bdfdd FreeBSD: unbreak compilation on i386 > #18105 794f1587d When receiving a stream with the large block flag, > activate feature > #18115 765929cb4 DDT: Add locking for table ZAP destruction > #18118 09e4e01e9 Fix history logging for `zpool create -t` > #18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF targe= ts > #18131 3fffe4e70 Fix --enable-invariants on FreeBSD > #18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code > #18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS > #18138 cdf89f413 Flush RRD only when TXGs contain data > #18139 a157ef62a Make sure we can still write data to txg > #18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD dou= ble > free panic > #18144 4f180e095 Fix activating large_microzap on receive > #18146 35b2d3970 Lock db_mtx around arc_release() in couple places > #18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition > #18160 21bbe7cb6 Improve caching for dbuf prefetches > #18177 -multiple Multihost Improvements > #18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks > #18180 aa29455dd Restrict cloning with different properties > #18184 040ba7a7c libzfs: improve error message for zpool create with > ENXIO > #18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after > zfs_setattr_dir() > #18198 cc184fe98 Fix `send:raw` permission for send `-w -I` > #18208 ba970eb20 Cleanup allocation class selection > #18212 0f9564e85 Simplify dnode_level_is_l2cacheable() > #18214 370570890 Remove parent ZIO from dbuf_prefetch() > #18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC > #18222 d06a1d9ac Fix available space accounting for special/dedup > #18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document > source files > #18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functions > #18230 -multiple Fix zdb --key crash for unencrypted datasets, and > teach tests to understand this better > #18233 -multiple icp: add SHA-512 implementation using Intel SHA512 > extension > #18245 991fc56fa Introduce dedupused/dedupsaved pool properties > #18251 6a717f31e Improve misleading error messages for > ZPOOL_STATUS_CORRUPT_POOL > #18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX512= VL > #18255 6495dafd5 range_tree: use zfs_panic_recover() for > partial-overlap remov > #18256 3408332d7 zhack: Fix importing large allocation profiles on > small pools > #18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild() > #18263 f8e5af53e Fix redundant declaration of dsl_pool_t > =20 > Obtained from: OpenZFS > OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920 > > cddl/lib/libzfs/Makefile | 36 +- > cddl/lib/libzpool/Makefile | 7 +- > stand/libsa/zfs/Makefile.inc | 6 +- > stand/libsa/zfs/xxhash.c | 24 + > sys/conf/files | 7 +- > .../.github/workflows/scripts/qemu-1-setup.sh | 110 +- > .../.github/workflows/scripts/qemu-2-start.sh | 53 +- > .../.github/workflows/scripts/qemu-3-deps-vm.sh | 50 +- > .../.github/workflows/scripts/qemu-5-setup.sh | 22 +- > .../workflows/scripts/qemu-6-lustre-tests-vm.sh | 51 + > .../.github/workflows/scripts/qemu-6-tests.sh | 132 +- > .../.github/workflows/scripts/qemu-8-summary.sh | 32 + > .../.github/workflows/scripts/qemu-test-repo-vm.sh | 27 +- > .../.github/workflows/zfs-qemu-packages.yml | 15 +- > sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 16 +- > sys/contrib/openzfs/.mailmap | 10 + > sys/contrib/openzfs/AUTHORS | 14 + > sys/contrib/openzfs/META | 2 +- > sys/contrib/openzfs/Makefile.am | 2 + > sys/contrib/openzfs/autogen.sh | 1 + > sys/contrib/openzfs/cmd/Makefile.am | 5 +- > sys/contrib/openzfs/cmd/raidz_test/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zdb/Makefile.am | 5 +- > sys/contrib/openzfs/cmd/zdb/zdb.c | 53 +- > sys/contrib/openzfs/cmd/zed/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am | 1 + > .../zed/zed.d/history_event-zfs-list-cacher.sh.in | 1 + > sys/contrib/openzfs/cmd/zfs/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zfs/zfs_main.c | 89 +- > sys/contrib/openzfs/cmd/zhack.c | 166 +- > sys/contrib/openzfs/cmd/zinject/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zpool/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zpool/zpool_main.c | 16 +- > sys/contrib/openzfs/cmd/zpool/zpool_util.c | 26 - > sys/contrib/openzfs/cmd/zpool/zpool_util.h | 2 - > sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zstream/Makefile.am | 1 + > sys/contrib/openzfs/cmd/ztest.c | 7 +- > sys/contrib/openzfs/config/CppCheck.am | 1 + > sys/contrib/openzfs/config/Rules.am | 1 + > sys/contrib/openzfs/config/Shellcheck.am | 1 + > sys/contrib/openzfs/config/Substfiles.am | 1 + > sys/contrib/openzfs/config/always-arch.m4 | 1 + > .../openzfs/config/always-compiler-options.m4 | 1 + > sys/contrib/openzfs/config/always-cppcheck.m4 | 1 + > sys/contrib/openzfs/config/always-parallel.m4 | 1 + > sys/contrib/openzfs/config/always-python.m4 | 1 + > sys/contrib/openzfs/config/always-pyzfs.m4 | 1 + > sys/contrib/openzfs/config/always-sed.m4 | 1 + > sys/contrib/openzfs/config/always-shellcheck.m4 | 1 + > sys/contrib/openzfs/config/always-system.m4 | 1 + > sys/contrib/openzfs/config/ax_compare_version.m4 | 1 + > sys/contrib/openzfs/config/ax_count_cpus.m4 | 1 + > sys/contrib/openzfs/config/ax_python_devel.m4 | 1 + > sys/contrib/openzfs/config/ax_restore_flags.m4 | 1 + > sys/contrib/openzfs/config/ax_save_flags.m4 | 1 + > sys/contrib/openzfs/config/deb.am | 1 + > sys/contrib/openzfs/config/find_system_library.m4 | 1 + > sys/contrib/openzfs/config/gettext.m4 | 1 + > sys/contrib/openzfs/config/host-cpu-c-abi.m4 | 1 + > sys/contrib/openzfs/config/iconv.m4 | 1 + > .../openzfs/config/kernel-access-ok-type.m4 | 1 + > sys/contrib/openzfs/config/kernel-acl.m4 | 32 + > sys/contrib/openzfs/config/kernel-add-disk.m4 | 1 + > sys/contrib/openzfs/config/kernel-assign_str.m4 | 1 + > sys/contrib/openzfs/config/kernel-automount.m4 | 1 + > sys/contrib/openzfs/config/kernel-bio.m4 | 1 + > sys/contrib/openzfs/config/kernel-bio_max_segs.m4 | 1 + > sys/contrib/openzfs/config/kernel-blk-queue.m4 | 27 + > sys/contrib/openzfs/config/kernel-blkdev.m4 | 1 + > .../config/kernel-block-device-operations.m4 | 1 + > .../openzfs/config/kernel-commit-metadata.m4 | 1 + > .../openzfs/config/kernel-config-defined.m4 | 1 + > .../config/kernel-copy-from-user-inatomic.m4 | 1 + > .../openzfs/config/kernel-cpu_has_feature.m4 | 1 + > .../openzfs/config/kernel-declare-event-class.m4 | 1 + > .../openzfs/config/kernel-dentry-operations.m4 | 1 + > .../openzfs/config/kernel-discard-granularity.m4 | 1 + > sys/contrib/openzfs/config/kernel-drop-inode.m4 | 1 + > sys/contrib/openzfs/config/kernel-file.m4 | 1 + > sys/contrib/openzfs/config/kernel-filelock.m4 | 23 + > .../openzfs/config/kernel-filemap-splice-read.m4 | 1 + > .../openzfs/config/kernel-flush_dcache_page.m4 | 1 + > sys/contrib/openzfs/config/kernel-fmode-t.m4 | 1 + > .../openzfs/config/kernel-follow-down-one.m4 | 1 + > sys/contrib/openzfs/config/kernel-fpu.m4 | 1 + > sys/contrib/openzfs/config/kernel-free-inode.m4 | 1 + > sys/contrib/openzfs/config/kernel-fs-context.m4 | 33 + > sys/contrib/openzfs/config/kernel-fst-mount.m4 | 30 - > sys/contrib/openzfs/config/kernel-fsync-bdev.m4 | 1 + > .../openzfs/config/kernel-generic_fadvise.m4 | 1 + > .../openzfs/config/kernel-generic_fillattr.m4 | 1 + > .../openzfs/config/kernel-generic_io_acct.m4 | 1 + > sys/contrib/openzfs/config/kernel-genhd-flags.m4 | 1 + > sys/contrib/openzfs/config/kernel-get-disk-ro.m4 | 1 + > sys/contrib/openzfs/config/kernel-iattr-vfsid.m4 | 1 + > sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-create.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-getattr.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-lookup.m4 | 1 + > .../openzfs/config/kernel-inode-permission.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-setattr.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-state.m4 | 24 + > sys/contrib/openzfs/config/kernel-inode-times.m4 | 1 + > .../openzfs/config/kernel-insert-inode-locked.m4 | 1 + > .../openzfs/config/kernel-is_owner_or_cap.m4 | 1 + > sys/contrib/openzfs/config/kernel-kasan-enabled.m4 | 1 + > .../openzfs/config/kernel-kmap-atomic-args.m4 | 1 + > .../openzfs/config/kernel-kmap-local-page.m4 | 1 + > sys/contrib/openzfs/config/kernel-kmem.m4 | 1 + > sys/contrib/openzfs/config/kernel-kthread.m4 | 1 + > sys/contrib/openzfs/config/kernel-kuid-helpers.m4 | 1 + > sys/contrib/openzfs/config/kernel-kuidgid.m4 | 1 + > .../openzfs/config/kernel-make-request-fn.m4 | 1 + > sys/contrib/openzfs/config/kernel-misc-minor.m4 | 1 + > sys/contrib/openzfs/config/kernel-mkdir.m4 | 1 + > sys/contrib/openzfs/config/kernel-mknod.m4 | 1 + > sys/contrib/openzfs/config/kernel-mm-page-flags.m4 | 28 + > sys/contrib/openzfs/config/kernel-mm-pagemap.m4 | 1 + > sys/contrib/openzfs/config/kernel-namespace.m4 | 1 + > sys/contrib/openzfs/config/kernel-objtool.m4 | 1 + > .../config/kernel-pagemap-folio_wait_bit.m4 | 1 + > .../config/kernel-pagemap-readahead-page.m4 | 1 + > sys/contrib/openzfs/config/kernel-pde-data.m4 | 1 + > sys/contrib/openzfs/config/kernel-percpu.m4 | 1 + > .../openzfs/config/kernel-pin-user-pages.m4 | 1 + > .../openzfs/config/kernel-proc-operations.m4 | 1 + > sys/contrib/openzfs/config/kernel-reclaim_state.m4 | 1 + > .../openzfs/config/kernel-register_sysctl_table.m4 | 1 + > sys/contrib/openzfs/config/kernel-rename.m4 | 1 + > .../openzfs/config/kernel-revalidate-disk-size.m4 | 1 + > sys/contrib/openzfs/config/kernel-sb-dying.m4 | 1 + > sys/contrib/openzfs/config/kernel-sb-wb-err.m4 | 1 + > sys/contrib/openzfs/config/kernel-sched.m4 | 1 + > .../openzfs/config/kernel-security-inode-init.m4 | 1 + > sys/contrib/openzfs/config/kernel-set-nlink.m4 | 1 + > .../openzfs/config/kernel-setattr-prepare.m4 | 1 + > sys/contrib/openzfs/config/kernel-sget-args.m4 | 1 + > sys/contrib/openzfs/config/kernel-show-options.m4 | 1 + > sys/contrib/openzfs/config/kernel-shrink.m4 | 1 + > sys/contrib/openzfs/config/kernel-siginfo.m4 | 1 + > sys/contrib/openzfs/config/kernel-stdarg.m4 | 1 + > sys/contrib/openzfs/config/kernel-strlcpy.m4 | 1 + > sys/contrib/openzfs/config/kernel-symlink.m4 | 1 + > sys/contrib/openzfs/config/kernel-sysfs.m4 | 1 + > sys/contrib/openzfs/config/kernel-timer.m4 | 1 + > sys/contrib/openzfs/config/kernel-tmpfile.m4 | 1 + > .../openzfs/config/kernel-totalhigh_pages.m4 | 1 + > .../openzfs/config/kernel-totalram-pages-func.m4 | 1 + > .../openzfs/config/kernel-truncate-setsize.m4 | 1 + > sys/contrib/openzfs/config/kernel-types.m4 | 1 + > sys/contrib/openzfs/config/kernel-usleep_range.m4 | 1 + > .../openzfs/config/kernel-vfs-file_range.m4 | 1 + > .../config/kernel-vfs-filemap_dirty_folio.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-fsync.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 | 1 + > .../openzfs/config/kernel-vfs-migrate_folio.m4 | 1 + > .../openzfs/config/kernel-vfs-migratepage.m4 | 1 + > .../openzfs/config/kernel-vfs-read_folio.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-readpages.m4 | 1 + > .../openzfs/config/kernel-vfs-set_page_dirty.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-writepage.m4 | 1 + > sys/contrib/openzfs/config/kernel-writeback.m4 | 1 + > sys/contrib/openzfs/config/kernel-xattr-handler.m4 | 1 + > sys/contrib/openzfs/config/kernel-zero_page.m4 | 1 + > sys/contrib/openzfs/config/kernel.m4 | 9 +- > sys/contrib/openzfs/config/lib-ld.m4 | 1 + > sys/contrib/openzfs/config/lib-link.m4 | 1 + > sys/contrib/openzfs/config/lib-prefix.m4 | 1 + > sys/contrib/openzfs/config/mount-helper.m4 | 1 + > sys/contrib/openzfs/config/nls.m4 | 1 + > sys/contrib/openzfs/config/pkg.m4 | 1 + > sys/contrib/openzfs/config/po.m4 | 1 + > sys/contrib/openzfs/config/progtest.m4 | 1 + > sys/contrib/openzfs/config/rpm.am | 1 + > sys/contrib/openzfs/config/tgz.am | 1 + > sys/contrib/openzfs/config/toolchain-simd.m4 | 23 + > sys/contrib/openzfs/config/user-aio.h.m4 | 1 + > sys/contrib/openzfs/config/user-backtrace.m4 | 1 + > sys/contrib/openzfs/config/user-clock_gettime.m4 | 1 + > sys/contrib/openzfs/config/user-dracut.m4 | 1 + > sys/contrib/openzfs/config/user-gettext.m4 | 1 + > sys/contrib/openzfs/config/user-largefile.m4 | 1 + > sys/contrib/openzfs/config/user-libaio.m4 | 1 + > sys/contrib/openzfs/config/user-libatomic.m4 | 1 + > sys/contrib/openzfs/config/user-libblkid.m4 | 1 + > sys/contrib/openzfs/config/user-libcrypto.m4 | 1 + > sys/contrib/openzfs/config/user-libexec.m4 | 1 + > sys/contrib/openzfs/config/user-libfetch.m4 | 1 + > sys/contrib/openzfs/config/user-libtirpc.m4 | 1 + > sys/contrib/openzfs/config/user-libudev.m4 | 1 + > sys/contrib/openzfs/config/user-libunwind.m4 | 1 + > sys/contrib/openzfs/config/user-libuuid.m4 | 1 + > sys/contrib/openzfs/config/user-makedev.m4 | 1 + > sys/contrib/openzfs/config/user-pam.m4 | 1 + > sys/contrib/openzfs/config/user-runstatedir.m4 | 1 + > sys/contrib/openzfs/config/user-statx.m4 | 1 + > sys/contrib/openzfs/config/user-systemd.m4 | 1 + > sys/contrib/openzfs/config/user-sysvinit.m4 | 1 + > sys/contrib/openzfs/config/user-udev.m4 | 1 + > sys/contrib/openzfs/config/user-zlib.m4 | 1 + > sys/contrib/openzfs/config/user.m4 | 1 + > sys/contrib/openzfs/config/zfs-build.m4 | 3 +- > sys/contrib/openzfs/config/zfs-meta.m4 | 1 + > sys/contrib/openzfs/contrib/Makefile.am | 1 + > .../openzfs/contrib/bash_completion.d/Makefile.am | 1 + > sys/contrib/openzfs/contrib/bpftrace/Makefile.am | 1 + > sys/contrib/openzfs/contrib/debian/Makefile.am | 1 + > .../contrib/debian/openzfs-libpam-zfs.install | 1 + > .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in | 2 +- > sys/contrib/openzfs/contrib/dracut/Makefile.am | 1 + > sys/contrib/openzfs/contrib/initramfs/Makefile.am | 1 + > .../openzfs/contrib/pam_zfs_key/Makefile.am | 1 + > .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c | 278 +- > sys/contrib/openzfs/contrib/pyzfs/Makefile.am | 1 + > .../openzfs/contrib/pyzfs/docs/source/index.rst | 3 +- > .../openzfs/contrib/pyzfs/libzfs_core/__init__.py | 10 - > .../pyzfs/libzfs_core/_error_translation.py | 58 - > .../contrib/pyzfs/libzfs_core/_libzfs_core.py | 350 +- > .../pyzfs/libzfs_core/bindings/libzfs_core.py | 4 - > .../pyzfs/libzfs_core/test/test_libzfs_core.py | 337 - > sys/contrib/openzfs/contrib/zcp/Makefile.am | 1 + > sys/contrib/openzfs/copy-builtin | 5 +- > sys/contrib/openzfs/etc/Makefile.am | 1 + > sys/contrib/openzfs/include/Makefile.am | 1 + > sys/contrib/openzfs/include/libzfs.h | 10 +- > sys/contrib/openzfs/include/os/freebsd/Makefile.am | 1 + > .../openzfs/include/os/freebsd/spl/sys/mod.h | 3 + > sys/contrib/openzfs/include/os/linux/Makefile.am | 1 + > .../include/os/linux/kernel/linux/dcache_compat.h | 19 +- > .../include/os/linux/kernel/linux/simd_x86.h | 14 + > .../include/os/linux/kernel/linux/vfs_compat.h | 8 + > .../include/os/linux/kernel/linux/xattr_compat.h | 17 + > .../openzfs/include/os/linux/spl/sys/kmem.h | 5 +- > sys/contrib/openzfs/include/sys/arc.h | 2 - > sys/contrib/openzfs/include/sys/arc_impl.h | 38 + > sys/contrib/openzfs/include/sys/btree.h | 9 +- > sys/contrib/openzfs/include/sys/ddt.h | 5 + > sys/contrib/openzfs/include/sys/dmu.h | 1 + > sys/contrib/openzfs/include/sys/dmu_objset.h | 1 + > sys/contrib/openzfs/include/sys/fs/zfs.h | 24 +- > sys/contrib/openzfs/include/sys/metaslab.h | 4 +- > sys/contrib/openzfs/include/sys/metaslab_impl.h | 8 +- > sys/contrib/openzfs/include/sys/mmp.h | 5 + > sys/contrib/openzfs/include/sys/spa.h | 1 + > sys/contrib/openzfs/include/sys/spa_impl.h | 4 + > sys/contrib/openzfs/include/sys/uberblock_impl.h | 22 +- > sys/contrib/openzfs/include/sys/vdev.h | 2 + > sys/contrib/openzfs/include/sys/vdev_impl.h | 2 + > sys/contrib/openzfs/include/sys/vdev_rebuild.h | 2 +- > sys/contrib/openzfs/lib/Makefile.am | 31 +- > sys/contrib/openzfs/lib/libavl/Makefile.am | 1 + > sys/contrib/openzfs/lib/libbtree/Makefile.am | 6 + > sys/contrib/openzfs/lib/libefi/Makefile.am | 1 + > sys/contrib/openzfs/lib/libicp/Makefile.am | 1 + > sys/contrib/openzfs/lib/libnvpair/Makefile.am | 1 + > sys/contrib/openzfs/lib/librange_tree/Makefile.am | 9 + > sys/contrib/openzfs/lib/libshare/Makefile.am | 27 - > sys/contrib/openzfs/lib/libshare/libshare_impl.h | 48 - > sys/contrib/openzfs/lib/libshare/nfs.h | 38 - > sys/contrib/openzfs/lib/libspl/Makefile.am | 1 + > sys/contrib/openzfs/lib/libspl/include/Makefile.am | 2 +- > sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 18 +- > .../openzfs/lib/libspl/include/sys/sysmacros.h | 29 +- > sys/contrib/openzfs/lib/libunicode/Makefile.am | 6 - > sys/contrib/openzfs/lib/libzdb/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzfs/Makefile.am | 18 +- > sys/contrib/openzfs/lib/libzfs/libzfs.abi | 450 +- > sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 13 + > sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 3 +- > sys/contrib/openzfs/lib/libzfs/libzfs_mount.c | 7 +- > sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 16 +- > .../{libshare/libshare.c =3D> libzfs/libzfs_share.c} | 3 +- > .../include/libshare.h =3D> libzfs/libzfs_share.h} | 80 +- > .../{libshare/nfs.c =3D> libzfs/libzfs_share_nfs.c} | 5 +- > .../nfs.c =3D> libzfs/os/freebsd/libzfs_share_nfs.c} | 5 +- > .../smb.c =3D> libzfs/os/freebsd/libzfs_share_smb.c} | 4 +- > .../nfs.c =3D> libzfs/os/linux/libzfs_share_nfs.c} | 4 +- > .../smb.c =3D> libzfs/os/linux/libzfs_share_smb.c} | 24 +- > sys/contrib/openzfs/lib/libzfs_core/Makefile.am | 1 + > .../openzfs/lib/libzfs_core/libzfs_core.abi | 11 +- > sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzpool/Makefile.am | 14 +- > .../openzfs/lib/libzpool/include/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzpool/kernel.c | 28 - > sys/contrib/openzfs/lib/libzstd/Makefile.am | 7 + > sys/contrib/openzfs/lib/libzutil/Makefile.am | 1 + > sys/contrib/openzfs/man/Makefile.am | 2 + > sys/contrib/openzfs/man/man4/zfs.4 | 36 +- > sys/contrib/openzfs/man/man7/vdevprops.7 | 17 + > sys/contrib/openzfs/man/man7/zfsprops.7 | 9 + > sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 14 + > sys/contrib/openzfs/man/man7/zpoolprops.7 | 15 + > sys/contrib/openzfs/man/man8/pam_zfs_key.8 | 221 + > sys/contrib/openzfs/man/man8/zfs-clone.8 | 4 +- > sys/contrib/openzfs/man/man8/zfs-create.8 | 2 +- > sys/contrib/openzfs/man/man8/zfs-load-key.8 | 4 + > sys/contrib/openzfs/man/man8/zfs-mount.8 | 6 + > sys/contrib/openzfs/man/man8/zfs-rename.8 | 2 +- > sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 19 +- > sys/contrib/openzfs/man/man8/zfs.8 | 1 + > sys/contrib/openzfs/module/Kbuild.in | 26 +- > sys/contrib/openzfs/module/Makefile.bsd | 13 +- > sys/contrib/openzfs/module/Makefile.in | 5 +- > sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 1 + > .../openzfs/module/icp/algs/sha2/sha512_impl.c | 18 + > .../icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S | 44 +- > .../module/icp/asm-x86_64/modes/ghash-x86_64.S | 64 - > .../module/icp/asm-x86_64/sha2/sha512-x86_64.S | 321 +- > .../icp/include/modes/gcm_asm_rename_funcs.h} | 30 +- > sys/contrib/openzfs/module/nvpair/nvpair.c | 4 +- > .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 19 + > .../openzfs/module/os/freebsd/zfs/vdev_geom.c | 3 + > .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 25 +- > .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 13 - > .../openzfs/module/os/linux/spl/spl-atomic.c | 36 - > .../openzfs/module/os/linux/spl/spl-generic.c | 258 - > .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 8 +- > sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 4 +- > .../openzfs/module/os/linux/spl/spl-kstat.c | 3 - > .../openzfs/module/os/linux/spl/spl-math-compat.c | 275 + > .../openzfs/module/os/linux/spl/spl-trace.c | 2 - > sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 16 + > .../openzfs/module/os/linux/zfs/vdev_disk.c | 7 + > .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 21 +- > .../openzfs/module/os/linux/zfs/zpl_export.c | 87 +- > sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 4 + > .../openzfs/module/os/linux/zfs/zpl_inode.c | 26 + > .../openzfs/module/os/linux/zfs/zpl_super.c | 63 + > sys/contrib/openzfs/module/zcommon/simd_stat.c | 2 + > sys/contrib/openzfs/module/zcommon/zfs_prop.c | 10 +- > sys/contrib/openzfs/module/zcommon/zpool_prop.c | 17 + > sys/contrib/openzfs/module/zfs/arc.c | 1347 ++-- > sys/contrib/openzfs/module/zfs/btree.c | 17 +- > sys/contrib/openzfs/module/zfs/dataset_kstats.c | 2 +- > sys/contrib/openzfs/module/zfs/dbuf.c | 26 +- > sys/contrib/openzfs/module/zfs/ddt.c | 95 +- > sys/contrib/openzfs/module/zfs/ddt_log.c | 4 +- > sys/contrib/openzfs/module/zfs/ddt_stats.c | 15 + > sys/contrib/openzfs/module/zfs/dmu.c | 4 +- > sys/contrib/openzfs/module/zfs/dmu_objset.c | 19 + > sys/contrib/openzfs/module/zfs/dmu_recv.c | 46 +- > sys/contrib/openzfs/module/zfs/dmu_tx.c | 7 +- > sys/contrib/openzfs/module/zfs/dsl_dataset.c | 8 +- > sys/contrib/openzfs/module/zfs/metaslab.c | 72 +- > sys/contrib/openzfs/module/zfs/mmp.c | 158 +- > sys/contrib/openzfs/module/zfs/range_tree.c | 22 +- > sys/contrib/openzfs/module/zfs/sa.c | 15 +- > sys/contrib/openzfs/module/zfs/spa.c | 791 ++- > sys/contrib/openzfs/module/zfs/spa_log_spacemap.c | 5 +- > sys/contrib/openzfs/module/zfs/spa_misc.c | 75 +- > .../openzfs/module/{unicode =3D> zfs}/u8_textprep.c | 0 > sys/contrib/openzfs/module/zfs/vdev.c | 18 +- > sys/contrib/openzfs/module/zfs/vdev_file.c | 3 + > sys/contrib/openzfs/module/zfs/vdev_label.c | 10 +- > sys/contrib/openzfs/module/zfs/vdev_queue.c | 40 + > sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 20 +- > sys/contrib/openzfs/module/zfs/zcp_get.c | 8 + > sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 16 +- > sys/contrib/openzfs/module/zfs/zfs_vnops.c | 83 +- > sys/contrib/openzfs/module/zfs/zio_compress.c | 2 +- > sys/contrib/openzfs/module/zstd/README.md | 44 +- > .../module/zstd/include/zstd_compat_wrapper.h | 271 +- > .../openzfs/module/zstd/lib/common/allocations.h | 56 + > sys/contrib/openzfs/module/zstd/lib/common/bits.h | 206 + > .../openzfs/module/zstd/lib/common/bitstream.h | 210 +- > .../openzfs/module/zstd/lib/common/compiler.h | 372 +- > sys/contrib/openzfs/module/zstd/lib/common/cpu.h | 40 +- > sys/contrib/openzfs/module/zstd/lib/common/debug.h | 57 +- > .../module/zstd/lib/common/entropy_common.c | 220 +- > .../openzfs/module/zstd/lib/common/error_private.c | 13 +- > .../openzfs/module/zstd/lib/common/error_private.h | 104 +- > sys/contrib/openzfs/module/zstd/lib/common/fse.h | 143 +- > .../module/zstd/lib/common/fse_decompress.c | 206 +- > sys/contrib/openzfs/module/zstd/lib/common/huf.h | 287 +- > sys/contrib/openzfs/module/zstd/lib/common/mem.h | 284 +- > sys/contrib/openzfs/module/zstd/lib/common/pool.c | 81 +- > sys/contrib/openzfs/module/zstd/lib/common/pool.h | 25 +- > .../module/zstd/lib/common/portability_macros.h | 172 + > .../openzfs/module/zstd/lib/common/xxhash.c | 865 --- > .../openzfs/module/zstd/lib/common/xxhash.h | 7199 ++++++++++++++= +++++- > .../openzfs/module/zstd/lib/common/zstd_common.c | 44 +- > .../openzfs/module/zstd/lib/common/zstd_deps.h | 124 + > .../openzfs/module/zstd/lib/common/zstd_internal.h | 345 +- > .../openzfs/module/zstd/lib/common/zstd_trace.h | 157 + > .../openzfs/module/zstd/lib/compress/clevels.h | 135 + > .../module/zstd/lib/compress/fse_compress.c | 249 +- > .../openzfs/module/zstd/lib/compress/hist.c | 66 +- > .../openzfs/module/zstd/lib/compress/hist.h | 11 +- > .../module/zstd/lib/compress/huf_compress.c | 1240 +++- > .../module/zstd/lib/compress/zstd_compress.c | 5917 ++++++++++++--= -- > .../zstd/lib/compress/zstd_compress_internal.h | 1017 ++- > .../zstd/lib/compress/zstd_compress_literals.c | 163 +- > .../zstd/lib/compress/zstd_compress_literals.h | 22 +- > .../zstd/lib/compress/zstd_compress_sequences.c | 75 +- > .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- > .../zstd/lib/compress/zstd_compress_superblock.c | 693 +- > .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- > .../openzfs/module/zstd/lib/compress/zstd_cwksp.h | 484 +- > .../module/zstd/lib/compress/zstd_double_fast.c | 611 +- > .../module/zstd/lib/compress/zstd_double_fast.h | 32 +- > .../openzfs/module/zstd/lib/compress/zstd_fast.c | 1039 ++- > .../openzfs/module/zstd/lib/compress/zstd_fast.h | 21 +- > .../openzfs/module/zstd/lib/compress/zstd_lazy.c | 1665 ++++- > .../openzfs/module/zstd/lib/compress/zstd_lazy.h | 184 +- > .../openzfs/module/zstd/lib/compress/zstd_ldm.c | 608 +- > .../openzfs/module/zstd/lib/compress/zstd_ldm.h | 27 +- > .../module/zstd/lib/compress/zstd_ldm_geartab.h | 107 + > .../openzfs/module/zstd/lib/compress/zstd_opt.c | 1004 ++- > .../openzfs/module/zstd/lib/compress/zstd_opt.h | 58 +- > .../module/zstd/lib/compress/zstd_preSplit.c | 239 + > .../module/zstd/lib/compress/zstd_preSplit.h | 34 + > .../module/zstd/lib/decompress/huf_decompress.c | 1858 +++-- > .../zstd/lib/decompress/huf_decompress_amd64.S | 603 ++ > .../module/zstd/lib/decompress/zstd_ddict.c | 24 +- > .../module/zstd/lib/decompress/zstd_ddict.h | 4 +- > .../module/zstd/lib/decompress/zstd_decompress.c | 897 ++- > .../zstd/lib/decompress/zstd_decompress_block.c | 1565 +++-- > .../zstd/lib/decompress/zstd_decompress_block.h | 24 +- > .../zstd/lib/decompress/zstd_decompress_internal.h | 79 +- > sys/contrib/openzfs/module/zstd/lib/zstd.h | 1848 ++++- > .../module/zstd/lib/{common =3D> }/zstd_errors.h | 45 +- > sys/contrib/openzfs/module/zstd/zfs_zstd.c | 35 +- > sys/contrib/openzfs/module/zstd/zstd-in.c | 93 +- > sys/contrib/openzfs/rpm/Makefile.am | 1 + > sys/contrib/openzfs/scripts/Makefile.am | 1 + > sys/contrib/openzfs/scripts/objtool-wrapper.in | 4 +- > sys/contrib/openzfs/scripts/spdxcheck.pl | 25 +- > sys/contrib/openzfs/scripts/zfs-tests.sh | 16 +- > sys/contrib/openzfs/tests/Makefile.am | 1 + > sys/contrib/openzfs/tests/runfiles/common.run | 15 +- > sys/contrib/openzfs/tests/runfiles/linux.run | 8 +- > sys/contrib/openzfs/tests/runfiles/sanity.run | 3 +- > .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 - > sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 1 + > .../tests/zfs-tests/callbacks/zfs_dbgmsg.ksh | 2 +- > .../openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh | 2 +- > sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + > .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 +- > .../tests/zfs-tests/cmd/checksum/sha2_test.c | 39 +- > .../openzfs/tests/zfs-tests/cmd/mmap_seek.c | 2 +- > sys/contrib/openzfs/tests/zfs-tests/cmd/setlease.c | 126 + > .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +- > .../openzfs/tests/zfs-tests/include/libtest.shlib | 54 +- > .../openzfs/tests/zfs-tests/include/tunables.cfg | 4 +- > .../openzfs/tests/zfs-tests/tests/Makefile.am | 18 + > .../bclone/bclone_crossfs_corner_cases.ksh | 9 + > .../bclone/bclone_crossfs_corner_cases_limited.ksh | 9 + > .../functional/bclone/bclone_crossfs_data.ksh | 7 + > .../functional/bclone/bclone_crossfs_embedded.ksh | 7 + > .../functional/bclone/bclone_diffprops_all.ksh | 28 +- > .../bclone/bclone_diffprops_checksum.ksh | 18 +- > .../bclone/bclone_diffprops_compress.ksh | 16 +- > .../functional/bclone/bclone_diffprops_copies.ksh | 18 +- > .../bclone/bclone_diffprops_recordsize.ksh | 18 +- > .../tests/functional/bclone/bclone_prop_sync.ksh | 12 +- > .../bclone/bclone_samefs_corner_cases.ksh | 7 + > .../bclone/bclone_samefs_corner_cases_limited.ksh | 7 + > .../tests/functional/bclone/bclone_samefs_data.ksh | 6 + > .../functional/bclone/bclone_samefs_embedded.ksh | 6 + > .../functional/block_cloning/block_cloning.kshlib | 24 - > .../block_cloning_after_device_removal.ksh | 61 + > .../tests/functional/cache/cache_012_pos.ksh | 5 + > .../cli_root/zfs_clone/zfs_clone_nomount.ksh | 66 + > .../zfs_rewrite/zfs_rewrite_skip_clone.ksh | 83 + > .../zfs_rewrite/zfs_rewrite_skip_snapshot.ksh | 74 + > .../zpool_create/zpool_create_tempname.ksh | 2 + > .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + > .../functional/cli_root/zpool_get/zpool_get.cfg | 2 + > .../cli_root/zpool_get/zpool_get_parsable.cfg | 4 +- > .../cli_root/zpool_set/vdev_set_scheduler.ksh | 93 + > .../zfs_send_delegation_user/zfs_send_usertest.ksh | 11 +- > .../functional/events/zed_synchronous_zedlet.ksh | 6 +- > .../zfs-tests/tests/functional/l2arc/l2arc.cfg | 3 +- > .../functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh | 138 + > .../functional/l2arc/l2arc_dwpd_reimport_pos.ksh | 169 + > .../l2arc/l2arc_multidev_scaling_pos.ksh | 162 + > .../l2arc/l2arc_multidev_throughput_pos.ksh | 133 + > .../zfs-tests/tests/functional/lease/cleanup.ksh | 26 + > .../tests/functional/lease/lease_setlease.ksh | 44 + > .../zfs-tests/tests/functional/lease/setup.ksh | 27 + > .../tests/zfs-tests/tests/functional/mmp/mmp.cfg | 6 +- > .../zfs-tests/tests/functional/mmp/mmp.kshlib | 47 +- > .../tests/functional/mmp/mmp_active_import.ksh | 42 +- > .../tests/functional/mmp/mmp_concurrent_import.ksh | 133 + > .../tests/functional/mmp/mmp_exported_import.ksh | 16 +- > .../zfs-tests/tests/functional/mmp/mmp_hostid.ksh | 8 +- > .../tests/functional/mmp/mmp_inactive_import.ksh | 20 +- > .../zfs-tests/tests/functional/mmp/mmp_on_off.ksh | 4 +- > .../tests/functional/mmp/mmp_on_thread.ksh | 4 +- > .../tests/functional/mmp/mmp_on_uberblocks.ksh | 14 +- > .../zfs-tests/tests/functional/mmp/mmp_on_zdb.ksh | 3 +- > .../tests/functional/mmp/mmp_reset_interval.ksh | 8 +- > .../functional/mmp/mmp_write_distribution.ksh | 2 +- > .../tests/functional/mmp/mmp_write_uberblocks.ksh | 4 +- > .../tests/functional/mmp/multihost_history.ksh | 2 + > .../tests/functional/mount/mount_loopback.ksh | 3 +- > .../zfs-tests/tests/functional/pam/pam_basic.ksh | 58 + > .../tests/functional/pam/pam_change_unmounted.ksh | 13 +- > .../tests/functional/pam/pam_nounmount.ksh | 14 +- > .../tests/zfs-tests/tests/functional/pam/setup.ksh | 11 + > .../tests/functional/pam/utilities.kshlib.in | 6 + > .../rsend/send_large_blocks_incremental.ksh | 83 + > .../functional/rsend/send_large_blocks_initial.ksh | 86 + > .../rsend/send_large_microzap_incremental.ksh | 91 + > .../rsend/send_large_microzap_transitive.ksh | 100 + > .../tests/functional/snapshot/snapshot_018_pos.ksh | 52 +- > .../zfs-tests/tests/functional/trim/trim_l2arc.ksh | 5 +- > sys/contrib/openzfs/udev/Makefile.am | 1 + > sys/modules/dtrace/fasttrap/Makefile | 2 +- > sys/modules/zfs/Makefile | 8 +- > sys/modules/zfs/zfs_config.h | 24 +- > sys/modules/zfs/zfs_gitrev.h | 2 +- > 513 files changed, 34137 insertions(+), 10963 deletions(-) > > diff --cc cddl/lib/libzfs/Makefile > index a034118a6f5b,000000000000..8f364d2c2bb1 > mode 100644,000000..100644 > --- a/cddl/lib/libzfs/Makefile > +++ b/cddl/lib/libzfs/Makefile > @@@ -1,109 -1,0 +1,105 @@@ > +.PATH: ${ZFSTOP}/module/icp > +.PATH: ${ZFSTOP}/module/zcommon > +.PATH: ${ZFSTOP}/lib/libzfs > +.PATH: ${ZFSTOP}/lib/libzfs/os/freebsd > - .PATH: ${ZFSTOP}/lib/libshare > +.PATH: ${ZFSTOP}/include > +.PATH: ${ZFSTOP}/module/zstd > +.PATH: ${ZFSTOP}/module/zstd/lib > + > +PACKAGE=3D zfs > +LIB_PACKAGE=3D > + > +LIB=3D zfs > +LIBADD=3D \ > + avl \ > + bsdxml \ > + crypto \ > + geom \ > + m \ > + md \ > + nvpair \ > + pthread \ > + rt \ > + umem \ > + util \ > + z \ > + zfs_core \ > + zutil > + > +INCS=3D libzfs.h > +USER_C =3D \ > - libzfs_changelist.c \ > - libzfs_config.c \ > - libzfs_crypto.c \ > - libzfs_dataset.c \ > - libzfs_diff.c \ > - libzfs_import.c \ > - libzfs_iter.c \ > - libzfs_mount.c \ > - libzfs_pool.c \ > - libzfs_sendrecv.c \ > - libzfs_status.c \ > - libzfs_util.c > ++ libzfs_changelist.c \ > ++ libzfs_config.c \ > ++ libzfs_crypto.c \ > ++ libzfs_dataset.c \ > ++ libzfs_diff.c \ > ++ libzfs_import.c \ > ++ libzfs_iter.c \ > ++ libzfs_mount.c \ > ++ libzfs_pool.c \ > ++ libzfs_sendrecv.c \ > ++ libzfs_share.c \ > ++ libzfs_share_nfs.c \ > ++ libzfs_status.c \ > ++ libzfs_util.c \ > ++ os/freebsd/libzfs_share_nfs.c \ > ++ os/freebsd/libzfs_share_smb.c > + > +# FreeBSD > +USER_C +=3D \ > + libzfs_compat.c \ > + libzfs_zmount.c > + > - # libshare > - USER_C +=3D \ > - libshare.c \ > - nfs.c \ > - os/freebsd/nfs.c \ > - os/freebsd/smb.c > -=20 > +KERNEL_C =3D \ > + cityhash.c \ > + zfeature_common.c \ > + zfs_comutil.c \ > + zfs_deleg.c \ > + zfs_fletcher.c \ > + zfs_fletcher_superscalar.c \ > + zfs_fletcher_superscalar4.c \ > + zfs_namecheck.c \ > + zfs_prop.c \ > + zfs_valstr.c \ > + zpool_prop.c \ > + zprop_common.c > + > +ARCH_C =3D > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > +ARCH_C +=3D zfs_fletcher_intel.c \ > + zfs_fletcher_sse.c=20 > +CFLAGS +=3D -DHAVE_SSE2 > +.endif > +.if ${MACHINE_ARCH} =3D=3D "amd64" > +ARCH_C +=3D zfs_fletcher_avx512.c > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F > +.endif > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > +.endif > + > +SRCS=3D $(USER_C) $(KERNEL_C) $(ARCH_C) > + > +WARNS?=3D 2 > +SHLIB_MAJOR=3D 4 > +CSTD=3D c99 > +CFLAGS+=3D -DIN_BASE > +CFLAGS+=3D -I${ZFSTOP}/include > +CFLAGS+=3D -I${ZFSTOP}/include/os/freebsd > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include/os/freebsd > +CFLAGS+=3D -I${ZFSTOP}/lib/libshare > +CFLAGS+=3D -I${ZFSTOP}/lib/libzpool/include > +CFLAGS+=3D -I${SRCTOP}/sys/contrib/ck/include > +CFLAGS+=3D -I${SRCTOP}/sys > +CFLAGS+=3D -I${SRCTOP}/cddl/compat/opensolaris/include > +CFLAGS+=3D -I${ZFSTOP}/module/icp/include > +CFLAGS+=3D -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h > +CFLAGS+=3D -DHAVE_ISSETUGID > +CFLAGS+=3D -DHAVE_EXECVPE > +CFLAGS+=3D -include ${SRCTOP}/sys/modules/zfs/zfs_config.h > +CFLAGS+=3D -DSYSCONFDIR=3D\"/etc\" > +CFLAGS+=3D -DPKGDATADIR=3D\"/usr/share/zfs\" > +CFLAGS+=3D -DZFSEXECDIR=3D\"${LIBEXECDIR}/zfs\" > + > +.include > diff --cc cddl/lib/libzpool/Makefile > index ade864790f1c,000000000000..74a5f6ccb438 > mode 100644,000000..100644 > --- a/cddl/lib/libzpool/Makefile > +++ b/cddl/lib/libzpool/Makefile > @@@ -1,343 -1,0 +1,342 @@@ > +.PATH: ${ZFSTOP}/lib/libzpool > + > +# ZFS_COMMON_SRCS > +.PATH: ${ZFSTOP}/module/zfs > +.PATH: ${ZFSTOP}/module/zcommon > +.PATH: ${ZFSTOP}/module/unicode > +# LUA_SRCS > +.PATH: ${ZFSTOP}/module/lua > +# ZSTD_SRCS > +.PATH: ${ZFSTOP}/module/zstd > +.PATH: ${ZFSTOP}/module/zstd/lib/common > +.PATH: ${ZFSTOP}/module/zstd/lib/compress > +.PATH: ${ZFSTOP}/module/zstd/lib/decompress > + > +.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHI= NE_ARCH}/opensolaris_atomic.S) > +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_A= RCH} > +ATOMIC_SRCS=3D opensolaris_atomic.S > +ACFLAGS+=3D -Wa,--noexecstack > +.else > +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern > +ATOMIC_SRCS=3D opensolaris_atomic.c > +.endif > + > +.if ${MACHINE_ARCH} =3D=3D "powerpc" > +# Don't waste GOT entries on small data. > +PICFLAG=3D -fPIC > +.endif > + > +PACKAGE=3D zfs > +LIB_PACKAGE=3D > + > +LIB=3D zpool > + > +USER_C =3D \ > + arc_os.c \ > + kernel.c \ > + util.c \ > + zfs_debug.c > + > +.PATH: ${ZFSTOP}/module/os/linux/zfs > + > +KERNEL_C =3D \ > + simd_stat.c \ > + zfeature_common.c \ > + zfs_comutil.c \ > + zfs_deleg.c \ > + zfs_fletcher.c \ > + zfs_fletcher_superscalar.c \ > + zfs_fletcher_superscalar4.c \ > + zfs_namecheck.c \ > + zfs_prop.c \ > + zfs_zstd.c \ > + zpool_prop.c \ > + zprop_common.c \ > + abd.c \ > + abd_os.c \ > + aggsum.c \ > + arc.c \ > + blake3_zfs.c \ > + blkptr.c \ > + bplist.c \ > + bpobj.c \ > + bptree.c \ > + bqueue.c \ > + btree.c \ > + brt.c \ > + cityhash.c \ > + dbuf.c \ > + dbuf_stats.c \ > + ddt.c \ > + ddt_log.c \ > + ddt_stats.c \ > + ddt_zap.c \ > + dmu.c \ > + dmu_diff.c \ > + dmu_direct.c \ > + dmu_object.c \ > + dmu_objset.c \ > + dmu_recv.c \ > + dmu_redact.c \ > + dmu_send.c \ > + dmu_traverse.c \ > + dmu_tx.c \ > + dmu_zfetch.c \ > + dnode.c \ > + dnode_sync.c \ > + dsl_bookmark.c \ > + dsl_dataset.c \ > + dsl_deadlist.c \ > + dsl_deleg.c \ > + dsl_dir.c \ > + dsl_crypt.c \ > + dsl_pool.c \ > + dsl_prop.c \ > + dsl_scan.c \ > + dsl_synctask.c \ > + dsl_destroy.c \ > + dsl_userhold.c \ > + edonr_zfs.c \ > + entropy_common.c \ > + error_private.c \ > + fm.c \ > + fse_compress.c \ > + fse_decompress.c \ > + gzip.c \ > + hist.c \ > + hkdf.c \ > + huf_compress.c \ > + huf_decompress.c \ > + lzjb.c \ > + lz4.c \ > + lz4_zfs.c \ > + metaslab.c \ > + mmp.c \ > + multilist.c \ > + objlist.c \ > + pathname.c \ > + pool.c \ > + range_tree.c \ > + refcount.c \ > + rrwlock.c \ > + sa.c \ > + sha2_zfs.c \ > + skein_zfs.c \ > + spa.c \ > + spa_checkpoint.c \ > + spa_config.c \ > + spa_errlog.c \ > + spa_history.c \ > + spa_log_spacemap.c \ > + spa_misc.c \ > + spa_stats.c \ > + space_map.c \ > + space_reftree.c \ > + txg.c \ > ++ u8_textprep.c \ > + trace.c \ > + uberblock.c \ > + unique.c \ > + vdev.c \ > + vdev_draid.c \ > + vdev_draid_rand.c \ > + vdev_file.c \ > + vdev_indirect_births.c \ > + vdev_indirect.c \ > + vdev_indirect_mapping.c \ > + vdev_initialize.c \ > + vdev_label.c \ > + vdev_label_os.c \ > + vdev_mirror.c \ > + vdev_missing.c \ > + vdev_queue.c \ > + vdev_raidz.c \ > + vdev_raidz_math_aarch64_neon.c \ > + vdev_raidz_math_aarch64_neonx2.c \ > + vdev_raidz_math_avx2.c \ > + vdev_raidz_math_avx512bw.c \ > + vdev_raidz_math_avx512f.c \ > + vdev_raidz_math.c \ > + vdev_raidz_math_scalar.c \ > + vdev_rebuild.c \ > + vdev_removal.c \ > + vdev_root.c \ > + vdev_trim.c \ > - xxhash.c \ > + zap.c \ > + zap_leaf.c \ > + zap_micro.c \ > + zcp.c \ > + zcp_get.c \ > + zcp_global.c \ > + zcp_iter.c \ > + zcp_set.c \ > + zcp_synctask.c \ > + zfeature.c \ > + zfs_byteswap.c \ > + zfs_chksum.c \ > + zfs_crrd.c \ > + zfs_debug_common.c \ > + zfs_fm.c \ > + zfs_fuid.c \ > + zfs_impl.c \ > + zfs_sa.c \ > + zfs_znode.c \ > + zfs_racct.c \ > + zfs_ratelimit.c \ > + zfs_rlock.c \ > + zil.c \ > + zio.c \ > + zio_checksum.c \ > + zio_compress.c \ > + zio_crypt.c \ > + zio_inject.c \ > + zle.c \ > + zrlock.c \ > + zstd_common.c \ > + zstd_compress.c \ > + zstd_compress_literals.c \ > + zstd_compress_sequences.c \ > + zstd_compress_superblock.c \ > + zstd_ddict.c \ > + zstd_decompress.c \ > + zstd_decompress_block.c \ > + zstd_double_fast.c \ > + zstd_fast.c \ > + zstd_lazy.c \ > + zstd_ldm.c \ > + zstd_opt.c \ > ++ zstd_preSplit.c \ > + zthr.c > + > +ARCH_C =3D > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > +ARCH_C +=3D vdev_raidz_math_sse2.c \ > + vdev_raidz_math_ssse3.c \ > + zfs_fletcher_intel.c \ > + zfs_fletcher_sse.c=20 > +CFLAGS +=3D -DHAVE_SSE2 -DHAVE_SSE3 > +.endif > +.if ${MACHINE_ARCH} =3D=3D "amd64" > +ARCH_C +=3D zfs_fletcher_avx512.c > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ > + -DHAVE_AVX512BW > +.endif > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > +.endif > + > +LUA_C =3D \ > + lapi.c \ > + lauxlib.c \ > + lbaselib.c \ > + lcode.c \ > + lcompat.c \ > + lcorolib.c \ > + lctype.c \ > + ldebug.c \ > + ldo.c \ > + lfunc.c \ > + lgc.c \ > + llex.c \ > + lmem.c \ > + lobject.c \ > + lopcodes.c \ > + lparser.c \ > + lstate.c \ > + lstring.c \ > + lstrlib.c \ > + ltable.c \ > + ltablib.c \ > + ltm.c \ > + lvm.c \ > + lzio.c > + > - UNICODE_C =3D u8_textprep.c > -=20 > - SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C} > ++SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${ARCH_C} > + > *** 15577 LINES SKIPPED *** I think the removal of dev/acpi_support/acpi_system76.c from sys/conf/files is unintentional here, this broke amd64 LINT. Might have to look for other cases of unintended changes. From nobody Sat Mar 14 23:48:23 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYJ2h48D5z6VcTQ for ; Sat, 14 Mar 2026 23:48:28 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb133.google.com (mail-yx1-xb133.google.com [IPv6:2607:f8b0:4864:20::b133]) (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 4fYJ2g6fSyz3cYZ for ; Sat, 14 Mar 2026 23:48:27 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=V5vMCCMw; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20240605:i=1"); spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b133 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb133.google.com with SMTP id 956f58d0204a3-649278a69c5so2988677d50.3 for ; Sat, 14 Mar 2026 16:48:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773532105; cv=none; d=google.com; s=arc-20240605; b=civNjDvdl12DotA9lwQTn1059hxGJ8WF6wtYKKy+w1pm2uiKlvMXmbWERpEdbqsgdj vVoSI5UOBLDXdYALJXT/cmL4MsmLfuwJuhFY5B1vm9US0YEV32szoS8GmDmwV3T4+pSC Djyw1RJ5bg6wdHuPTZ2CWW6+SLkGLbtKjoDiMez8U7pRJZ1w9mQDkmpw+kAxQ19H/WOL 8oUhA5CXU2dp1TfdrnZlhdywtzl1FlooknHYNqdj7Ur0MNkRNSogbc37hYgw0gWForSr dPUbBXlF8EIP4JEktm/BYHp5OYSaox6A2sa7EeEFb8cNdmVKcm2ixJE8ev/+LDe4OJ8g X9TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=2jQKHg20Oz0gWPFgmpx8zqie3oof4nY+6Ym1hiACesc=; fh=GSOvx+3beFwjqbaBu0GBImeloVx0I/Y3GQ0F1Fjvozg=; b=NGEmB3XHbHu4DzuqdgJrUWJdYN7XwRA1PUpkzsz4Ny/5RcnERL/9Y8sCZmfT79G9+R IFrPqDs4ZWzYN5JO+74W8TRCEcN5mbZY34Gg1oj2LhEjWhMAUwNTtQI6iirEdpKneAbL C44UgG0PW0wZan8mAT0FHk8KrzmTckBtHr0YH+KDGFaN+opIIMJXWHfktx0LUvotYPc5 YJkNLO7KRFRLxgwQzoY+xd11fOv4rJDJQkxBV4k2vwFvDXl0SPXRByH00C9qiLMViIQB UJVb8q1v4EmUvF7+Z6T8tgnBIq+buk8DcMNFeqBpiIMvNr5CMqAs7mWWG9+L6Ewd7yNJ J4ww==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773532105; x=1774136905; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=2jQKHg20Oz0gWPFgmpx8zqie3oof4nY+6Ym1hiACesc=; b=V5vMCCMwvZfIvFMNi9EE0DY2N8m8yOmJ2QkPHDkx7ghOGEmTUynAe9L0M+NH4pWtEb 4vHSNXKbxbDe9AV7Jf0XtbFUJTBGp9+ugpJxbO3dJ3js9Ayp8/SSwM0nToSiAyxRI9lK 2SPwbBNzbSMyOWhVVdLEtRu2KCv7k3U/Q4+0mWxTYq2l+qv583g4d6okyphYkyRaqCwC ZkCfSNKx5mzIQToEJ9JSP59nIEfqux66HTwvcdWJBe3ddt3gbrgxEL+SiZ6yCmFEzUvq DCVX7QC2lPDxOJpkyeFVY9vsE4grAdVl7/Lx3bxKrsGXSeHBKc8jDMARnVpyU1Y3u5Al Qapw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773532105; x=1774136905; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2jQKHg20Oz0gWPFgmpx8zqie3oof4nY+6Ym1hiACesc=; b=To9AygSz0b1FuCr+QTWzU/f2BQMd7lqpjOR1RrUw78AitcdPGDustDs1cI961Coo63 V8/MshsW4wWltWiqukdoT1fWKEvsgGA9RZupkMH1Mopuyg5IjiJQNSZ86D242uD8XdEl H2ae+0/J5pkk0I1z14xQWltY7IE5JhewZp5O3veLrGc7FCSHDiIsSrMAFYnt8Ip2T1to CnflzFyvV5rLIE82dhz7Lc1uzaD3++x93f6YRukUsk6wybUKnTII+jgloLtBpfzEkh9o NAi8bK90Dxokx2QwFXct9yVgyefutMXU0bbcHs8IZykXgqlgK6mBJ/x1xMbMRlj+qDjt isQA== X-Forwarded-Encrypted: i=1; AJvYcCVUtJgcOS+afXGHkKpa11eXB284q19FBCbYVnoDzzWZ0HllMlNjdaHy30E64OBQv/eEPv2JblGkQcmQNAatTFsnHNXSkA==@freebsd.org X-Gm-Message-State: AOJu0Yxvkhya7Q74WOy7EvDjJqaHW+kATSaT0vIqroQReJD/jIYTIPQi t36TZ8Y5OZQa+6OB9O1ywUq2DLRp79GZziR2Jg8fExCHTcXHYPyaVhBQP6Btzqkqrnby0YVIVm2 pQ3NaOBYNsl+BNcNDOsyzgh+Qu4GxYPQ= X-Gm-Gg: ATEYQzxfSXKA+yoYCD19kmhRQBrHYe2B3nOwaA8tnaE3SzPgqOGB3xtHkSbNoRMq+Jx wHZLJme68sObt37B8KjvCYZapB+Y/54ndMznQti8lZ+/XnYMYlNDaCW6IIUxO40wyV3rA5r0tf+ ZVRfsWVFebOVsjLiPlX17Mk1q1pbqhKq0yTRj6MbgaCqVJYjiCoguYzfL3E22nudghNZA5GiWP3 E/ed9CFoAnjnRRXtQb2d6+RSDLH9CtBOalpsuuHyFKptqawLZffycoZZJ3C5AswsMr8PkCBIe6U ltXuyQHj3xx1cUvHyxsjMTBsx2uIru4M/AsemHvsMQ== X-Received: by 2002:a53:ecd7:0:b0:649:ef06:15f3 with SMTP id 956f58d0204a3-64e62f033d0mr6909714d50.10.1773532105219; Sat, 14 Mar 2026 16:48:25 -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 Received: by 2002:a05:7011:3113:b0:50c:2f00:153f with HTTP; Sat, 14 Mar 2026 16:48:23 -0700 (PDT) In-Reply-To: <69aedac4.33ef1.717b7bd3@gitrepo.freebsd.org> References: <69aedac4.33ef1.717b7bd3@gitrepo.freebsd.org> From: Oliver Pinter Date: Sun, 15 Mar 2026 00:48:23 +0100 X-Gm-Features: AaiRm53bPcPzcyaSIsXebaR0Jvwf2SqkEfp-JaW7P5g9suIpI3jFjcYmX-N3-K0 Message-ID: Subject: Re: git: b4daeded66b5 - main - usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch) To: "Bjoern A. Zeeb" Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000212429064d049fcb" X-Spamd-Result: default: False [-4.89 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; NEURAL_HAM_SHORT(-0.89)[-0.891]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_EQ_ADDR_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MISSING_XM_UA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b133:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4fYJ2g6fSyz3cYZ X-Spamd-Bar: ---- --000000000000212429064d049fcb Content-Type: text/plain; charset="UTF-8" On Monday, March 9, 2026, Bjoern A. Zeeb wrote: > The branch main has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > b4daeded66b5e950ed8e618d66915b863c2414b1 > > commit b4daeded66b5e950ed8e618d66915b863c2414b1 > Author: Bjoern A. Zeeb > AuthorDate: 2026-01-26 13:19:37 +0000 > Commit: Bjoern A. Zeeb > CommitDate: 2026-03-09 14:35:31 +0000 > > usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mode switch) > > Several Realtek (and lots other) USB dongles present themselves as > CDROM device first. Upon eject they do a mode switch and suddenly > are a different kind of device (sometimes even with different IDs), > e.g., a wireless dongle. > > In order to avoid the CDROM stage and rather than adding the quirk > handling to more drivers, add support to umass and if enabled > automatically eject the "CDROM" to make it the real device. > > Longer-term some other drivers could stop using their hand-rolled > support for this. It is unclear as-to how much we need the list of > (eject) quirks from u3g here, or if these are very specific to that > kind of devices. Hi! Wouldn't be better to initiate these kind of ejects from devd rather than from kernel? > > Sponsored by: The FreeBSD Foundation > Fixes: b3b6a959c85a, 9c0cce328363 > Reviewed by: imp > Differential Revision: https://reviews.freebsd.org/D54901 > --- > sys/dev/usb/quirk/usb_quirk.c | 2 +- > sys/dev/usb/storage/umass.c | 57 ++++++++++++++++++++++++++++++ > ++++++++++++- > 2 files changed, 57 insertions(+), 2 deletions(-) > > diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c > index 04441b2a344b..303f76f37fb0 100644 > --- a/sys/dev/usb/quirk/usb_quirk.c > +++ b/sys/dev/usb/quirk/usb_quirk.c > @@ -532,7 +532,7 @@ static struct usb_quirk_entry > usb_quirks[USB_DEV_QUIRKS_MAX] = { > UQ_MSC_NO_INQUIRY, UQ_CFG_INDEX_0), > USB_QUIRK(SMART2, G2MEMKEY, UQ_MSC_NO_INQUIRY), > USB_QUIRK_REV(RALINK, RT_STOR, 0x0001, 0x0001, UQ_MSC_IGNORE), > - USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_IGNORE), > + USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_EJECT_SCSIEJECT), > /* Non-standard USB MIDI devices */ > USB_QUIRK(ROLAND, UM1, UQ_AU_VENDOR_CLASS), > USB_QUIRK(ROLAND, SC8850, UQ_AU_VENDOR_CLASS), > diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c > index cacf4ddf8f16..0ee6ea992fa7 100644 > --- a/sys/dev/usb/storage/umass.c > +++ b/sys/dev/usb/storage/umass.c > @@ -115,6 +115,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -124,6 +125,7 @@ > #include "usbdevs.h" > > #include > +#include > > #include > #include > @@ -705,6 +707,59 @@ static const uint8_t fake_inq_data[SHORT_INQUIRY_LENGTH] > = { > #define UFI_COMMAND_LENGTH 12 /* UFI commands are always > 12 bytes */ > #define ATAPI_COMMAND_LENGTH 12 /* ATAPI commands are > always 12 bytes */ > > +static void > +umass_autoinst_eject_quirks(void *arg __unused, struct usb_device *udev, > + struct usb_attach_arg *uaa) > +{ > + struct usb_interface *iface; > + struct usb_interface_descriptor *id; > + > + if (uaa->dev_state != UAA_DEV_READY) > + return; > + > + iface = usbd_get_iface(udev, 0); > + if (iface == NULL) > + return; > + > + id = iface->idesc; > + if (id == NULL || id->bInterfaceClass != UICLASS_MASS) > + return; > + > + if (usb_test_quirk(uaa, UQ_MSC_EJECT_SCSIEJECT)) { > + int error; > + > + error = usb_msc_eject(uaa->device, 0, MSC_EJECT_STOPUNIT); > + if (error == 0) > + uaa->dev_state = UAA_DEV_EJECTING; > + else > + printf("UMASS failed to eject by SCSI eject > STOPUNIT " > + "command based on quirk: %d\n", error); > + } > +} > + > +static eventhandler_tag umass_drv_evh_tag; > + > +static int > +umass_driver_evh(struct module *mod, int what, void *arg) > +{ > + > + switch (what) { > + case MOD_LOAD: > + umass_drv_evh_tag = EVENTHANDLER_REGISTER(usb_dev_ > configured, > + umass_autoinst_eject_quirks, NULL, > EVENTHANDLER_PRI_ANY); > + break; > + case MOD_UNLOAD: > + if (umass_drv_evh_tag != NULL) > + EVENTHANDLER_DEREGISTER(usb_dev_configured, > + umass_drv_evh_tag); > + break; > + default: > + return (EOPNOTSUPP); > + } > + > + return (0); > +} > + > static device_method_t umass_methods[] = { > /* Device interface */ > DEVMETHOD(device_probe, umass_probe), > @@ -725,7 +780,7 @@ static const STRUCT_USB_HOST_ID __used umass_devs[] = { > {USB_IFACE_CLASS(UICLASS_MASS),}, > }; > > -DRIVER_MODULE(umass, uhub, umass_driver, NULL, NULL); > +DRIVER_MODULE(umass, uhub, umass_driver, umass_driver_evh, NULL); > MODULE_DEPEND(umass, usb, 1, 1, 1); > MODULE_DEPEND(umass, cam, 1, 1, 1); > MODULE_VERSION(umass, 1); > > --000000000000212429064d049fcb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Monday, March 9, 2026, Bjoern A. Zeeb <bz@freebsd.org> wrote:
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=3Db4daeded66b5e950ed8e618d66915b863c2414b1

commit b4daeded66b5e950ed8e618d66915b863c2414b1
Author:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-01-26 13:19:37 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-03-09 14:35:31 +0000

=C2=A0 =C2=A0 usb: umass: add SCSIEJECT quirk and fix RTW8821CU_CD (USB mod= e switch)

=C2=A0 =C2=A0 Several Realtek (and lots other) USB dongles present themselv= es as
=C2=A0 =C2=A0 CDROM device first.=C2=A0 Upon eject they do a mode switch an= d suddenly
=C2=A0 =C2=A0 are a different kind of device (sometimes even with different= IDs),
=C2=A0 =C2=A0 e.g., a wireless dongle.

=C2=A0 =C2=A0 In order to avoid the CDROM stage and rather than adding the = quirk
=C2=A0 =C2=A0 handling to more drivers, add support to umass and if enabled=
=C2=A0 =C2=A0 automatically eject the "CDROM" to make it the real= device.

=C2=A0 =C2=A0 Longer-term some other drivers could stop using their hand-ro= lled
=C2=A0 =C2=A0 support for this.=C2=A0 It is unclear as-to how much we need = the list of
=C2=A0 =C2=A0 (eject) quirks from u3g here, or if these are very specific t= o that
=C2=A0 =C2=A0 kind of devices.

Hi!

Wouldn't be better to initiate these kind of ejects fr= om devd rather than from kernel?
=C2=A0

=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation
=C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 b3b6a959c85a, 9c0cce= 328363
=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 imp
=C2=A0 =C2=A0 Differential Revision: https://reviews.freebsd.org/D54901
---
=C2=A0sys/dev/usb/quirk/usb_quirk.c |=C2=A0 2 +-
=C2=A0sys/dev/usb/storage/umass.c=C2=A0 =C2=A0| 57 ++++++++++++++++++++++++= ++++++++++++++++++-
=C2=A02 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_qui= rk.c
index 04441b2a344b..303f76f37fb0 100644
--- a/sys/dev/usb/quirk/usb_quirk.c
+++ b/sys/dev/usb/quirk/usb_quirk.c
@@ -532,7 +532,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS= _MAX] =3D {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 UQ_MSC_NO_INQUIRY, UQ_CFG_INDEX_0= ),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_QUIRK(SMART2, G2MEMKEY, UQ_MSC_NO_INQUIRY),=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_QUIRK_REV(RALINK, RT_STOR, 0x0001, 0x0001, = UQ_MSC_IGNORE),
-=C2=A0 =C2=A0 =C2=A0 =C2=A0USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_IGNORE)= ,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0USB_QUIRK(REALTEK, RTW8821CU_CD, UQ_MSC_EJECT_S= CSIEJECT),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Non-standard USB MIDI devices */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_QUIRK(ROLAND, UM1, UQ_AU_VENDOR_CLASS),
=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_QUIRK(ROLAND, SC8850, UQ_AU_VENDOR_CLASS),<= br> diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c
index cacf4ddf8f16..0ee6ea992fa7 100644
--- a/sys/dev/usb/storage/umass.c
+++ b/sys/dev/usb/storage/umass.c
@@ -115,6 +115,7 @@
=C2=A0#include <sys/sx.h>
=C2=A0#include <sys/unistd.h>
=C2=A0#include <sys/callout.h>
+#include <sys/eventhandler.h>
=C2=A0#include <sys/malloc.h>
=C2=A0#include <sys/priv.h>

@@ -124,6 +125,7 @@
=C2=A0#include "usbdevs.h"

=C2=A0#include <dev/usb/quirk/usb_quirk.h>
+#include <dev/usb/usb_msctest.h>

=C2=A0#include <cam/cam.h>
=C2=A0#include <cam/cam_ccb.h>
@@ -705,6 +707,59 @@ static const uint8_t fake_inq_data[SHORT_INQUIRY_= LENGTH] =3D {
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 UFI_COMMAND_LENGTH=C2=A0 =C2=A0 = =C2=A0 12=C2=A0 =C2=A0 =C2=A0 /* UFI commands are always 12 bytes */
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATAPI_COMMAND_LENGTH=C2=A0 =C2=A0 = 12=C2=A0 =C2=A0 =C2=A0 /* ATAPI commands are always 12 bytes */

+static void
+umass_autoinst_eject_quirks(void *arg __unused, struct usb_device *ud= ev,
+=C2=A0 =C2=A0 struct usb_attach_arg *uaa)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct usb_interface *iface;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct usb_interface_descriptor *id;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (uaa->dev_state !=3D UAA_DEV_READY)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0iface =3D usbd_get_iface(udev, 0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (iface =3D=3D NULL)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0id =3D iface->idesc;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (id =3D=3D NULL || id->bInterfaceClass != =3D UICLASS_MASS)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (usb_test_quirk(uaa, UQ_MSC_EJECT_SCSIEJECT)= ) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0int error;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D usb_msc_e= ject(uaa->device, 0, MSC_EJECT_STOPUNIT);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0)=
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0uaa->dev_state =3D UAA_DEV_EJECTING;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0else
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0printf("UMASS failed to eject by SCSI eject STOPUNIT "<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0"command based on quirk: %d\n", error); +=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+}
+
+static eventhandler_tag umass_drv_evh_tag;
+
+static int
+umass_driver_evh(struct module *mod, int what, void *arg)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0switch (what) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case MOD_LOAD:
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0umass_drv_evh_tag = =3D EVENTHANDLER_REGISTER(usb_dev_configured,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0umass= _autoinst_eject_quirks, NULL, EVENTHANDLER_PRI_ANY);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0break;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case MOD_UNLOAD:
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (umass_drv_evh_t= ag !=3D NULL)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0EVENTHANDLER_DEREGISTER(usb_dev_configured,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0umass_drv_evh_tag);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0break;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0default:
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (EOPNOTSUPP)= ;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (0);
+}
+
=C2=A0static device_method_t umass_methods[] =3D {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Device interface */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 DEVMETHOD(device_probe, umass_probe),
@@ -725,7 +780,7 @@ static const STRUCT_USB_HOST_ID __used umass_devs[] =3D= {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {USB_IFACE_CLASS(UICLASS_MASS),},
=C2=A0};

-DRIVER_MODULE(umass, uhub, umass_driver, NULL, NULL);
+DRIVER_MODULE(umass, uhub, umass_driver, umass_driver_evh, NULL);
=C2=A0MODULE_DEPEND(umass, usb, 1, 1, 1);
=C2=A0MODULE_DEPEND(umass, cam, 1, 1, 1);
=C2=A0MODULE_VERSION(umass, 1);

--000000000000212429064d049fcb-- From nobody Sun Mar 15 04:03:03 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYPhV3M1Jz6V0pZ for ; Sun, 15 Mar 2026 04:03: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYPhV33Ggz45hG for ; Sun, 15 Mar 2026 04:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773547386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BEH0W/8yJ5ZPd3OJ8ZQq+8hWy6Tz4PN0hg+4tNGlCg=; b=O7Tacg7NyRUhcG+hrKynqAN/S+MN36OPG89Ahfx2DiLFfSmbVQ9yVn0PfJcYW6ux4GbF84 ufQaZPoNrGOmGDOS5rhDzDZ8b4ru7Gbg2OLMFvsCuE82JqBwjOdEGQuezHI+UCmJ4KI1hg q3zJ1V2JvPwsb7FZElksfK52nF+7xmo5Hh9GTVY0OnbnO6A6fMDjbxEZT8RO7X9TK3PADA Oe4o+BsEi3I3QM9A0HtfvmR2iUmuKgjgMZIUoGi668J4UtNpH+Cwz0L/Lid0mnamtWzbbo FiXmBqvsSLM+gCehALUKjc4bbdXjqyS2H/iO3Ss8+6WbIfySnET4H/YoC4IneQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773547386; a=rsa-sha256; cv=none; b=RaxyeKNz0kOxARe/rYHhGozRbO9v+gbn1JYpVJ1A59IGM2AR7FWnEr5qd4FElWKyWpdJlY OXiLtO/tqs700rMNhRF6biSyE+rATCeySUXeHeFtudT4EkL2k29UdxW8LT9uEheX1fngaK T1qMmXSmlicKVlOmIvkBeOyhjUcUjS+opYJtG+Br7/Yo0y5+ZplupfOlLxxNzjo+dFQkgI 3sje2P0c9HMHX7dzow/oeEL7LrJFblRneXh7N2otD60T7FLC+GuyfL7qiOWBuJDkmrHuAR sXxLJNmjzVJP3ZmvzlQI5V6Cyuje1krfJc3CCcDx/J0C7Uv8dbHSNSW3nNVRZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773547386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BEH0W/8yJ5ZPd3OJ8ZQq+8hWy6Tz4PN0hg+4tNGlCg=; b=DWmgBBKbvbxhyWJk9fwkxBN7KyUkfb9VyS1m+1b/Z3GlL0nFjLm4nCv5QLjKawk4NBVji8 uQU2HQaq/TU/QFKZOq/2TrJychgsaC8sbNiSCc2C5hl6tx1n3rSn0OW+cDHJBvaBg9HxAv Cht3zeusIvY/sBFZCwOFEE8lItyamaKiBVj7wTZ7MNUJWppSNyUsR7GRwSOjRQefia/6Ri pzHKAWU3O4Sq7Kzk0qLOT4DX48W5fqRbbF2REIeP4LlVdbbwtL/jkDKWkFseTFxXQeIqvS bpcGVUxTKdQMPSlK8A/YfPHtJkWEuzIbEsjMBQ59Pe6UBrwXCIiyh75CEG+Q7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYPhV2P9hzYsq for ; Sun, 15 Mar 2026 04:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4495f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 04:03:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 16cef5f7a655 - main - libpcap: Update to 1.10.6 List-Id: Commit messages for the main 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: 16cef5f7a65588def71db4fdfa961f959847e3b6 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 04:03:03 +0000 Message-Id: <69b62f77.4495f.7d4ef563@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=16cef5f7a65588def71db4fdfa961f959847e3b6 commit 16cef5f7a65588def71db4fdfa961f959847e3b6 Merge: e6f4e4ab8a51 0a1fbf4c244d Author: Joseph Mingrone AuthorDate: 2026-03-15 01:42:55 +0000 Commit: Joseph Mingrone CommitDate: 2026-03-15 03:41:29 +0000 libpcap: Update to 1.10.6 Changes: https://raw.githubusercontent.com/the-tcpdump-group/libpcap/89e982c37c36ad0bf9f10b7ded421cb42422effa/CHANGES Reviewed by: bms, emaste Obtained from: https://www.tcpdump.org/release/libpcap-1.10.6.tar.gz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55545 Differential Revision: https://reviews.freebsd.org/D55858 contrib/libpcap/CHANGES | 107 ++ contrib/libpcap/CMakeLists.txt | 55 +- contrib/libpcap/CREDITS | 13 + contrib/libpcap/INSTALL.md | 4 + contrib/libpcap/Makefile.in | 12 +- contrib/libpcap/VERSION | 2 +- contrib/libpcap/aclocal.m4 | 11 +- contrib/libpcap/autogen.sh | 41 +- contrib/libpcap/cmake/Modules/FindPacket.cmake | 49 +- contrib/libpcap/cmakeconfig.h.in | 12 +- contrib/libpcap/config.h.in | 8 +- contrib/libpcap/configure | 1097 ++++++++++---------- contrib/libpcap/configure.ac | 37 +- contrib/libpcap/dlpisubs.c | 124 +++ contrib/libpcap/dlpisubs.h | 1 + contrib/libpcap/doc/README.haiku.md | 40 +- contrib/libpcap/doc/README.solaris.md | 24 +- contrib/libpcap/doc/README.windows.md | 175 +++- contrib/libpcap/fad-getad.c | 13 +- contrib/libpcap/fmtutils.c | 2 +- contrib/libpcap/gencode.c | 346 ++++-- contrib/libpcap/grammar.y.in | 13 - contrib/libpcap/ieee80211.h | 6 +- contrib/libpcap/instrument-functions.c | 250 +++++ contrib/libpcap/nametoaddr.c | 452 +++++++- contrib/libpcap/nametoaddr.h | 1 + contrib/libpcap/optimize.c | 2 +- contrib/libpcap/pcap-bpf.c | 40 +- contrib/libpcap/pcap-common.c | 92 +- contrib/libpcap/pcap-dag.c | 5 +- contrib/libpcap/pcap-dbus.c | 4 + contrib/libpcap/pcap-dlpi.c | 348 ++++--- contrib/libpcap/pcap-dpdk.c | 5 +- contrib/libpcap/pcap-haiku.c | 8 +- contrib/libpcap/pcap-int.h | 33 +- contrib/libpcap/pcap-libdlpi.c | 33 +- contrib/libpcap/pcap-linux.c | 636 ++++++++++-- contrib/libpcap/pcap-new.c | 54 +- contrib/libpcap/pcap-npf.c | 100 +- contrib/libpcap/pcap-rpcap.c | 2 +- contrib/libpcap/pcap-savefile.manfile.in | 29 +- contrib/libpcap/pcap-septel.c | 3 +- contrib/libpcap/pcap-snf.c | 5 +- contrib/libpcap/pcap.c | 73 +- contrib/libpcap/pcap/bpf.h | 2 - contrib/libpcap/pcap/dlt.h | 102 +- contrib/libpcap/pcap_close.3pcap | 14 +- contrib/libpcap/pcap_dump_close.3pcap | 11 +- contrib/libpcap/pcap_dump_flush.3pcap | 2 +- contrib/libpcap/pcap_file.3pcap | 2 +- contrib/libpcap/pcap_loop.3pcap | 2 +- contrib/libpcap/pcap_next_ex.3pcap | 2 +- contrib/libpcap/pcap_open_offline.3pcap.in | 8 +- contrib/libpcap/pflog.h | 4 + contrib/libpcap/rpcapd/CMakeLists.txt | 28 +- contrib/libpcap/rpcapd/rpcapd.c | 14 +- contrib/libpcap/scanner.l | 22 - contrib/libpcap/sf-pcap.c | 15 +- contrib/libpcap/testprogs/CMakeLists.txt | 9 +- contrib/libpcap/testprogs/Makefile.in | 5 + contrib/libpcap/testprogs/filtertest.c | 3 + contrib/libpcap/testprogs/fuzz/CMakeLists.txt | 43 - contrib/libpcap/testprogs/fuzz/fuzz_both.c | 101 -- contrib/libpcap/testprogs/fuzz/fuzz_both.options | 2 - contrib/libpcap/testprogs/fuzz/fuzz_filter.c | 43 - contrib/libpcap/testprogs/fuzz/fuzz_filter.options | 2 - contrib/libpcap/testprogs/fuzz/fuzz_pcap.c | 80 -- contrib/libpcap/testprogs/fuzz/fuzz_pcap.options | 2 - contrib/libpcap/testprogs/fuzz/onefile.c | 54 - contrib/libpcap/testprogs/versiontest.c | 29 + lib/libpcap/Makefile | 1 - lib/libpcap/config.h | 261 ++++- sys/net/dlt.h | 177 +++- 73 files changed, 3740 insertions(+), 1667 deletions(-) diff --cc contrib/libpcap/instrument-functions.c index 000000000000,ba0a56a5309f..ba0a56a5309f mode 000000,100644..100644 --- a/contrib/libpcap/instrument-functions.c +++ b/contrib/libpcap/instrument-functions.c diff --cc contrib/libpcap/testprogs/versiontest.c index 000000000000,a1177dcc0ed4..a1177dcc0ed4 mode 000000,100644..100644 --- a/contrib/libpcap/testprogs/versiontest.c +++ b/contrib/libpcap/testprogs/versiontest.c diff --cc lib/libpcap/Makefile index 7f8d8e65d79c,000000000000..87da7faccdd6 mode 100644,000000..100644 --- a/lib/libpcap/Makefile +++ b/lib/libpcap/Makefile @@@ -1,201 -1,0 +1,200 @@@ +# Makefile for libpcap + +SHLIBDIR?= /lib + +.include + +LIB= pcap + +SRCS= bpf_dump.c \ + bpf_filter.c \ + bpf_image.c \ + etherent.c \ + fad-getad.c \ + fmtutils.c \ + gencode.c \ + grammar.y \ + nametoaddr.c \ + optimize.c \ + pcap-bpf.c \ + pcap-common.c \ + pcap-netmap.c \ + pcap-util.c \ + pcap.c \ + savefile.c \ + scanner.l \ + sf-pcap.c \ + sf-pcapng.c \ + tokdefs.h + +# Old compatibility headers +INCS= pcap-bpf.h \ + pcap-namedb.h \ + pcap-netmap.h \ + pcap.h + +PCAPINCS= \ + pcap/bluetooth.h \ + pcap/bpf.h \ + pcap/can_socketcan.h \ + pcap/compiler-tests.h \ + pcap/dlt.h \ + pcap/funcattrs.h \ + pcap/ipnet.h \ + pcap/namedb.h \ + pcap/nflog.h \ + pcap/pcap-inttypes.h \ + pcap/pcap.h \ + pcap/socket.h \ + pcap/sll.h \ + pcap/usb.h \ + pcap/vlan.h + +PCAPINCSDIR= ${INCLUDEDIR}/pcap +INCSGROUPS= INCS PCAPINCS + +MAN= pcap.3 \ + pcap_activate.3 \ + pcap_breakloop.3 \ + pcap_can_set_rfmon.3 \ + pcap_close.3 \ + pcap_compile.3 \ + pcap_create.3 \ + pcap_datalink.3 \ + pcap_datalink_name_to_val.3 \ + pcap_datalink_val_to_name.3 \ + pcap_dump.3 \ + pcap_dump_close.3 \ + pcap_dump_file.3 \ + pcap_dump_flush.3 \ + pcap_dump_ftell.3 \ + pcap_dump_open.3 \ + pcap_file.3 \ + pcap_fileno.3 \ + pcap_findalldevs.3 \ + pcap_freecode.3 \ + pcap_get_required_select_timeout.3 \ + pcap_get_selectable_fd.3 \ + pcap_get_tstamp_precision.3 \ + pcap_geterr.3 \ + pcap_init.3 \ + pcap_inject.3 \ + pcap_is_swapped.3 \ + pcap_lib_version.3 \ + pcap_list_datalinks.3 \ + pcap_list_tstamp_types.3 \ + pcap_lookupdev.3 \ + pcap_lookupnet.3 \ + pcap_loop.3 \ + pcap_major_version.3 \ + pcap_next_ex.3 \ + pcap_offline_filter.3 \ + pcap_open_dead.3 \ + pcap_open_live.3 \ + pcap_open_offline.3 \ + pcap_set_buffer_size.3 \ + pcap_set_datalink.3 \ + pcap_set_promisc.3 \ + pcap_set_rfmon.3 \ + pcap_set_snaplen.3 \ + pcap_set_timeout.3 \ + pcap_set_tstamp_precision.3 \ + pcap_set_tstamp_type.3 \ + pcap_setdirection.3 \ + pcap_setfilter.3 \ + pcap_setnonblock.3 \ + pcap_snapshot.3 \ + pcap_stats.3 \ + pcap_statustostr.3 \ + pcap_strerror.3 \ + pcap_tstamp_type_name_to_val.3 \ + pcap_tstamp_type_val_to_name.3 \ + pcap-savefile.5 + +MANNODEV= pcap-filter.7 \ + pcap-linktype.7 \ + pcap-tstamp.7 + +MLINKS= \ + pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ + pcap_dump_open.3 pcap_dump_fopen.3 \ + pcap_findalldevs.3 pcap_freealldevs.3 \ + pcap_geterr.3 pcap_perror.3 \ + pcap_inject.3 pcap_sendpacket.3 \ + pcap_list_datalinks.3 pcap_free_datalinks.3 \ + pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ + pcap_loop.3 pcap_dispatch.3 \ + pcap_major_version.3 pcap_minor_version.3 \ + pcap_next_ex.3 pcap_next.3 \ + pcap_open_offline.3 pcap_fopen_offline.3 \ + pcap_setnonblock.3 pcap_getnonblock.3 + +# Our man pages are a special copy from the distdir. See below. +CLEANFILES+=${MAN} ${MANNODEV} +CLEANFILES+=grammar.y scanner.h tokdefs.h + +YFLAGS+=-p pcap_ +LFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput +CFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} +CFLAGS+=-D_U_="__attribute__((unused))" - CFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF +CFLAGS+=-DBUILDING_PCAP +.if ${MK_INET6_SUPPORT} != "no" +CFLAGS+=-DINET6 +.endif +.if ${MK_PF} != "no" +CFLAGS+=-DHAVE_NET_PFVAR_H +.endif + +CFLAGS+= -DPCAP_SUPPORT_NETMAP + +.if ${MK_OFED} != "no" +SRCS+= pcap-rdmasniff.c +LIBADD+= ibverbs +LIBADD+= bnxtre +LIBADD+= mlx5 +CFLAGS+= -DPCAP_SUPPORT_RDMASNIFF +.endif + +WARNS?= 0 + +SHLIB_MAJOR= 8 + +# +# Magic to grab sources out of src/contrib +# +PCAP_DISTDIR?=${SRCTOP}/contrib/libpcap +CFLAGS+=-I${PCAP_DISTDIR} +.PATH: ${PCAP_DISTDIR} +.PATH: ${PCAP_DISTDIR}/bpf/net + +grammar.y: grammar.y.in + sed -e 's/@REENTRANT_PARSER@/%pure-parser/' < ${.ALLSRC} > ${.TARGET} + +tokdefs.h: grammar.h .NOMETA + ln -sf ${.ALLSRC} ${.TARGET} + +# +# Magic to convert the man pages to something non Solarish +# +.for _page in ${MAN} ${MANNODEV} +${_page}: + if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ + F=${_page:S/3$/3pcap/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ + F=${_page:S/3$/3pcap.in/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ + F=${_page:S/5$/manfile.in/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ + F=${_page:S/5$/manfile/}; \ + else \ + F=${_page:S/7$/manmisc.in/}; \ + fi; \ + sed \ + -e 's/3PCAP/3/g' \ + -e 's/@MAN_FILE_FORMATS@/5/g' \ + -e 's/@MAN_MISC_INFO@/7/g' \ + -e 's/@MAN_ADMIN_COMMANDS@/8/g' \ + ${PCAP_DISTDIR}/$$F > ${_page} +.endfor + +.include diff --cc lib/libpcap/config.h index cea0cc4fd7cb,000000000000..bcae25131613 mode 100644,000000..100644 --- a/lib/libpcap/config.h +++ b/lib/libpcap/config.h @@@ -1,222 -1,0 +1,377 @@@ +/* This is an edited copy of the config.h generated by configure. */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + ++/* Define to 1 if arpa/inet.h declares `ether_hostton' */ ++/* #undef ARPA_INET_H_DECLARES_ETHER_HOSTTON */ ++ ++/* Enable optimizer debugging */ ++/* #undef BDEBUG */ ++ ++/* define if you want to build the instrument functions code */ ++/* #undef ENABLE_INSTRUMENT_FUNCTIONS */ ++ ++/* Define to 1 if remote packet capture is to be supported */ ++/* #undef ENABLE_REMOTE */ ++ ++/* define if we have the AIX getnetbyname_r() */ ++/* #undef HAVE_AIX_GETNETBYNAME_R */ ++ ++/* define if we have the AIX getprotobyname_r() */ ++/* #undef HAVE_AIX_GETPROTOBYNAME_R */ ++ +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_CONFIG_HAIKUCONFIG_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DAGAPI_H */ ++ ++/* define if you have the DAG API */ ++/* #undef HAVE_DAG_API */ ++ ++/* define if you have dag_get_erf_types() */ ++/* #undef HAVE_DAG_GET_ERF_TYPES */ ++ ++/* define if you have dag_get_stream_erf_types() */ ++/* #undef HAVE_DAG_GET_STREAM_ERF_TYPES */ ++ ++/* define if you have large streams capable DAG API */ ++/* #undef HAVE_DAG_LARGE_STREAMS_API */ ++ ++/* define if you have vdag_set_device_info() */ ++/* #undef HAVE_DAG_VDAG */ ++ ++/* Define to 1 if you have the declaration of `ether_hostton' */ ++#define HAVE_DECL_ETHER_HOSTTON 1 ++ ++/* Define to 1 if `dl_module_id_1' is a member of `dl_hp_ppa_info_t'. */ ++/* #undef HAVE_DL_HP_PPA_INFO_T_DL_MODULE_ID_1 */ ++ ++/* Define to 1 if the system has the type `dl_passive_req_t'. */ ++/* #undef HAVE_DL_PASSIVE_REQ_T */ ++ +/* Define to 1 if you have the `ether_hostton' function. */ +#define HAVE_ETHER_HOSTTON 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ +#define HAVE_FSEEKO 1 + ++/* Define to 1 if you have the `getspnam' function. */ ++/* #undef HAVE_GETSPNAM */ ++ ++/* Define to 1 if you have a GNU-style `strerror_r' function. */ ++/* #undef HAVE_GNU_STRERROR_R */ ++ +/* on HP-UX 10.20 or later */ +/* #undef HAVE_HPUX10_20_OR_LATER */ + +/* on HP-UX 9.x */ +/* #undef HAVE_HPUX9 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + ++/* Define to 1 if you have the `bsd' library (-lbsd). */ ++/* #undef HAVE_LIBBSD */ ++ +/* if libdlpi exists */ +/* #undef HAVE_LIBDLPI */ + +/* if libnl exists */ +/* #undef HAVE_LIBNL */ + - /* if libnl exists and is version 2.x */ - /* #undef HAVE_LIBNL_2_x */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_COMPILER_H */ + - /* if libnl exists and is version 3.x */ - /* #undef HAVE_LIBNL_3_x */ ++/* define if we have the Linux getnetbyname_r() */ ++/* #undef HAVE_LINUX_GETNETBYNAME_R */ + - /* libnl has NLE_FAILURE */ - /* #undef HAVE_LIBNL_NLE */ ++/* define if we have the Linux getprotobyname_r() */ ++/* #undef HAVE_LINUX_GETPROTOBYNAME_R */ + - /* libnl has new-style socket api */ - /* #undef HAVE_LIBNL_SOCKETS */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_NET_TSTAMP_H */ + - /* Define to 1 if you have the header file. */ - #define HAVE_LIMITS_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_SOCKET_H */ + - /* Define to 1 if you have the header file. */ - /* #undef HAVE_LINUX_COMPILER_H */ - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_LINUX_ETHTOOL_H */ - - /* Define to 1 if you have the header file. */ - #define HAVE_MEMORY_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_USBDEVICE_FS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETPACKET_PACKET_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NET_BPF_H 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_ENET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_DL_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_H */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_NET_IF_MEDIA_H 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_TYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_NIT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_PFILT_H */ ++ +/* Define to 1 if you have the header file. */ +/* See Makefile */ +/* #undef HAVE_NET_PFVAR_H */ + - /* if there's an os_proto.h for this platform, to use additional prototypes */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_RAW_H */ ++ ++/* Use OpenSSL */ ++/* #undef HAVE_OPENSSL */ ++ ++/* if there's an os-proto.h for this platform, to use additional prototypes */ +/* #undef HAVE_OS_PROTO_H */ + - /* define if net/pfvar.h defines PF_NAT through PF_NORDR */ - #define HAVE_PF_NAT_THROUGH_PF_NORDR 1 ++/* Define to 1 if you have a POSIX-style `strerror_r' function. */ ++#define HAVE_POSIX_STRERROR_R /**/ + +/* define if you have the Septel API */ +/* #undef HAVE_SEPTEL_API */ + +/* define if you have the Myricom SNF API */ +/* #undef HAVE_SNF_API */ + - /* Define to 1 if you have the `snprintf' function. */ - #define HAVE_SNPRINTF 1 - +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + ++/* On solaris */ ++/* #undef HAVE_SOLARIS */ ++ ++/* target host supports Solaris "any" device */ ++/* #undef HAVE_SOLARIS_ANY_DEVICE */ ++ ++/* define if we have the Solaris/IRIX getnetbyname_r() */ ++/* #undef HAVE_SOLARIS_IRIX_GETNETBYNAME_R */ ++ ++/* define if we have the Solaris/IRIX getprotobyname_r() */ ++/* #undef HAVE_SOLARIS_IRIX_GETPROTOBYNAME_R */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDIO_H 1 ++ +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + - /* Define to 1 if you have the `strerror' function. */ - #define HAVE_STRERROR 1 - - /* Define to 1 if you have the `strerror_r' function. */ - #define HAVE_STRERROR_R 1 - - /* Define to 1 if you have the `strerror_s' function. */ - /* #undef HAVE_STRERROR_S */ - +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if the system has the type `struct BPF_TIMEVAL'. */ +/* #undef HAVE_STRUCT_BPF_TIMEVAL */ + +/* Define to 1 if the system has the type `struct ether_addr'. */ +/* #undef HAVE_STRUCT_ETHER_ADDR */ + ++/* Define to 1 if `msg_control' is a member of `struct msghdr'. */ ++/* #undef HAVE_STRUCT_MSGHDR_MSG_CONTROL */ ++ ++/* Define to 1 if `msg_flags' is a member of `struct msghdr'. */ ++/* #undef HAVE_STRUCT_MSGHDR_MSG_FLAGS */ ++ ++/* Define to 1 if the system has the type `struct rte_ether_addr'. */ ++/* #undef HAVE_STRUCT_RTE_ETHER_ADDR */ ++ ++/* Define to 1 if `hci_channel' is a member of `struct sockaddr_hci'. */ ++/* #undef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL */ ++ +/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ +#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 + +/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 + ++/* Define to 1 if `tp_vlan_tci' is a member of `struct tpacket_auxdata'. */ ++/* #undef HAVE_STRUCT_TPACKET_AUXDATA_TP_VLAN_TCI */ ++ ++/* Define to 1 if `bRequestType' is a member of `struct ++ usbdevfs_ctrltransfer'. */ ++/* #undef HAVE_STRUCT_USBDEVFS_CTRLTRANSFER_BREQUESTTYPE */ ++ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BUFMOD_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_DLPI_EXT_H */ + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_DLPI_H */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCCOM_H 1 + - /* Define to 1 if you have the header file. */ - #define HAVE_SYS_SELECT_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_NET_NIT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* define if you have the TurboCap API */ +/* #undef HAVE_TC_API */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + - /* Define to 1 if you have the `vsnprintf' function. */ - #define HAVE_VSNPRINTF 1 ++/* Define to 1 if you have the `vasprintf' function. */ ++#define HAVE_VASPRINTF 1 ++ ++/* Define to 1 if you have the `vsyslog' function. */ ++#define HAVE_VSYSLOG 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ZONE_H */ ++ ++/* Define to 1 if you have the `_wcserror_s' function. */ ++/* #undef HAVE__WCSERROR_S */ ++ ++/* define if __atomic_load_n is supported by the compiler */ ++#define HAVE___ATOMIC_LOAD_N 1 ++ ++/* define if __atomic_store_n is supported by the compiler */ ++#define HAVE___ATOMIC_STORE_N 1 + +/* IPv6 */ +/* See Makefile */ +/* #undef INET6 */ + - /* if unaligned access fails */ - /* #undef LBL_ALIGN */ - - /* path for device for USB sniffing */ - /* #undef LINUX_USB_MON_DEV */ - +/* Define to 1 if netinet/ether.h declares `ether_hostton' */ +/* #undef NETINET_ETHER_H_DECLARES_ETHER_HOSTTON */ + +/* Define to 1 if netinet/if_ether.h declares `ether_hostton' */ - #define NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON /**/ ++/* #undef NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON */ ++ ++/* Define to 1 if net/ethernet.h declares `ether_hostton' */ ++#define NET_ETHERNET_H_DECLARES_ETHER_HOSTTON /**/ + +/* do not use protochain */ +/* #undef NO_PROTOCHAIN */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "pcap" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "pcap 1.10.5" ++#define PACKAGE_STRING "pcap 1.10.6" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "pcap" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "1.10.5" ++#define PACKAGE_VERSION "1.10.6" ++ ++/* target host supports Bluetooth sniffing */ ++/* #undef PCAP_SUPPORT_BT */ ++ ++/* target host supports Bluetooth Monitor */ ++/* #undef PCAP_SUPPORT_BT_MONITOR */ ++ ++/* support D-Bus sniffing */ ++/* #undef PCAP_SUPPORT_DBUS */ ++ ++/* target host supports DPDK */ ++/* #undef PCAP_SUPPORT_DPDK */ ++ ++/* target host supports Linux usbmon for USB sniffing */ ++/* #undef PCAP_SUPPORT_LINUX_USBMON */ ++ ++/* target host supports netfilter sniffing */ ++/* #undef PCAP_SUPPORT_NETFILTER */ + +/* target host supports netmap */ +#define PCAP_SUPPORT_NETMAP 1 + - /* use packet ring capture support on Linux if available */ - #define PCAP_SUPPORT_PACKET_RING 1 ++/* The size of 'time_t', as computed by sizeof. */ ++#ifdef __i386__ ++#define SIZEOF_TIME_T 4 ++#else ++#define SIZEOF_TIME_T 8 ++#endif ++ ++/* The size of `void *', as computed by sizeof. */ ++/* #undef SIZEOF_VOID_P */ + - /* Define to 1 if you have the ANSI C header files. */ ++/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define to 1 if strings.h declares `ffs' */ +#define STRINGS_H_DECLARES_FFS /**/ + ++/* Define to 1 if sys/ethernet.h declares `ether_hostton' */ ++/* #undef SYS_ETHERNET_H_DECLARES_ETHER_HOSTTON */ ++ +/* Enable parser debugging */ +/* #undef YYDEBUG */ + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + - /* Enable large inode numbers on Mac OS X 10.5. */ - #ifndef _DARWIN_USE_64_BIT_INODE - # define _DARWIN_USE_64_BIT_INODE 1 - #endif ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ ++/* #undef _LARGEFILE_SOURCE */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* define on AIX to get certain functions */ ++/* #undef _SUN */ ++ ++/* to handle Ultrix compilers that don't support const in prototypes */ ++/* #undef const */ + +/* Define as token for inline if inlining supported */ +#define inline inline ++ ++/* on sinix */ ++/* #undef sinix */ diff --cc sys/net/dlt.h index 769bf5fecacb,000000000000..4227ce79d3b7 mode 100644,000000..100644 --- a/sys/net/dlt.h +++ b/sys/net/dlt.h @@@ -1,1586 -1,0 +1,1691 @@@ +/*- + * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from the Stanford/CMU enet packet filter, + * (net/enet.c) distributed as part of 4.3BSD, and code contributed + * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence + * Berkeley Laboratory. + * + * 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. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. ++ * ++ * @(#)bpf.h 7.1 (Berkeley) 5/7/91 + */ + +#ifndef _NET_DLT_H_ +#define _NET_DLT_H_ + +/* + * Link-layer header type codes. + * + * Do *NOT* add new values to this list without asking + * "tcpdump-workers@lists.tcpdump.org" for a value. Otherwise, you run + * the risk of using a value that's already being used for some other + * purpose, and of having tools that read libpcap-format captures not + * being able to handle captures with your new DLT_ value, with no hope + * that they will ever be changed to do so (as that would destroy their + * ability to read captures using that value for that other purpose). + * + * See + * + * https://www.tcpdump.org/linktypes.html + * + * for detailed descriptions of some of these link-layer header types. + */ + +/* + * These are the types that are the same on all platforms, and that + * have been defined by for ages. ++ * ++ * DLT_LOW_MATCHING_MIN is the lowest such value; DLT_LOW_MATCHING_MAX ++ * is the highest such value. + */ ++#define DLT_LOW_MATCHING_MIN 0 ++ +#define DLT_NULL 0 /* BSD loopback encapsulation */ +#define DLT_EN10MB 1 /* Ethernet (10Mb) */ +#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */ +#define DLT_AX25 3 /* Amateur Radio AX.25 */ +#define DLT_PRONET 4 /* Proteon ProNET Token Ring */ +#define DLT_CHAOS 5 /* Chaos */ +#define DLT_IEEE802 6 /* 802.5 Token Ring */ +#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */ +#define DLT_SLIP 8 /* Serial Line IP */ +#define DLT_PPP 9 /* Point-to-point Protocol */ +#define DLT_FDDI 10 /* FDDI */ + ++/* ++ * In case the code that includes this file (directly or indirectly) ++ * has also included OS files that happen to define DLT_LOW_MATCHING_MAX, ++ * with a different value (perhaps because that OS hasn't picked up ++ * the latest version of our DLT definitions), we undefine the ++ * previous value of DLT_LOW_MATCHING_MAX. ++ * ++ * (They shouldn't, because only those 10 values were assigned in ++ * the Good Old Days, before DLT_ code assignment became a bit of ++ * a free-for-all. Perhaps 11 is DLT_ATM_RFC1483 everywhere 11 ++ * is used at all, but 12 is DLT_RAW on some platforms but not ++ * OpenBSD, and the fun continues for several other values.) ++ */ ++#ifdef DLT_LOW_MATCHING_MAX ++#undef DLT_LOW_MATCHING_MAX ++#endif ++ ++#define DLT_LOW_MATCHING_MAX DLT_FDDI /* highest value in this "matching" range */ ++ +/* + * These are types that are different on some platforms, and that + * have been defined by for ages. We use #ifdefs to + * detect the BSDs that define them differently from the traditional + * libpcap + * + * XXX - DLT_ATM_RFC1483 is 13 in BSD/OS, and DLT_RAW is 14 in BSD/OS, - * but I don't know what the right #define is for BSD/OS. ++ * but I don't know what the right #define is for BSD/OS. The last ++ * release was in October 2003; if anybody cares about making this ++ * work on BSD/OS, give us a pull request for a change to make it work. + */ +#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */ + +#ifdef __OpenBSD__ +#define DLT_RAW 14 /* raw IP */ +#else +#define DLT_RAW 12 /* raw IP */ +#endif + +/* + * Given that the only OS that currently generates BSD/OS SLIP or PPP + * is, well, BSD/OS, arguably everybody should have chosen its values + * for DLT_SLIP_BSDOS and DLT_PPP_BSDOS, which are 15 and 16, but they + * didn't. So it goes. + */ +#if defined(__NetBSD__) || defined(__FreeBSD__) +#ifndef DLT_SLIP_BSDOS +#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */ +#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */ +#endif +#else +#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */ +#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */ +#endif + +/* + * NetBSD uses 15 for HIPPI. + * + * From a quick look at sys/net/if_hippi.h and sys/net/if_hippisubr.c + * in an older version of NetBSD , the header appears to be: + * - * a 1-byte ULP field (ULP-id)? ++ * a 1-byte ULP field (ULP-id)? + * + * a 1-byte flags field; + * + * a 2-byte "offsets" field; + * + * a 4-byte "D2 length" field (D2_Size?); + * + * a 4-byte "destination switch" field (or a 1-byte field + * containing the Forwarding Class, Double_Wide, and Message_Type + * sub fields, followed by a 3-byte Destination_Switch_Address + * field?, HIPPI-LE 3.4-style?); + * + * a 4-byte "source switch" field (or a 1-byte field containing the + * Destination_Address_type and Source_Address_Type fields, followed + * by a 3-byte Source_Switch_Address field, HIPPI-LE 3.4-style?); + * + * a 2-byte reserved field; + * + * a 6-byte destination address field; + * + * a 2-byte "local admin" field; + * + * a 6-byte source address field; + * + * followed by an 802.2 LLC header. + * + * This looks somewhat like something derived from the HIPPI-FP 4.4 + * Header_Area, followed an HIPPI-FP 4.4 D1_Area containing a D1 data set + * with the header in HIPPI-LE 3.4 (ANSI X3.218-1993), followed by an + * HIPPI-FP 4.4 D2_Area (with no Offset) containing the 802.2 LLC header + * and payload? Or does the "offsets" field contain the D2_Offset, + * with that many bytes of offset before the payload? + * + * See http://wotug.org/parallel/standards/hippi/ for an archive of + * HIPPI specifications. + * + * RFC 2067 imposes some additional restrictions. It says that the + * Offset is always zero + * + * HIPPI is long-gone, and the source files found in an older version + * of NetBSD don't appear to be in the main CVS branch, so we may never + * see a capture with this link-layer type. + */ +#if defined(__NetBSD__) +#define DLT_HIPPI 15 /* HIPPI */ +#endif + +/* + * NetBSD uses 16 for DLT_HDLC; see below. + * BSD/OS uses it for PPP; see above. + * As far as I know, no other OS uses it for anything; don't use it + * for anything else. + */ + +/* + * 17 was used for DLT_PFLOG in OpenBSD; it no longer is. + * + * It was DLT_LANE8023 in SuSE 6.3, so we defined LINKTYPE_PFLOG + * as 117 so that pflog captures would use a link-layer header type + * value that didn't collide with any other values. On all + * platforms other than OpenBSD, we defined DLT_PFLOG as 117, + * and we mapped between LINKTYPE_PFLOG and DLT_PFLOG. + * + * OpenBSD eventually switched to using 117 for DLT_PFLOG as well. + * + * Don't use 17 for anything else. + */ + +/* + * 18 is used for DLT_PFSYNC in OpenBSD, NetBSD, DragonFly BSD and + * macOS; don't use it for anything else. (FreeBSD uses 121, which + * collides with DLT_HHDLC, even though it doesn't use 18 for + * anything and doesn't appear to have ever used it for anything.) + * + * We define it as 18 on those platforms; it is, unfortunately, used - * for DLT_CIP in Suse 6.3, so we don't define it as DLT_PFSYNC - * in general. As the packet format for it, like that for - * DLT_PFLOG, is not only OS-dependent but OS-version-dependent, - * we don't support printing it in tcpdump except on OSes that - * have the relevant header files, so it's not that useful on - * other platforms. ++ * for DLT_CIP in SUSE 6.3, so we don't define it as 18 on all ++ * platforms. We define it as 121 on FreeBSD and as the same ++ * value that we assigned to LINKTYPE_PFSYNC on all remaining ++ * platforms. + */ +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) +#define DLT_PFSYNC 18 +#endif + +#define DLT_ATM_CLIP 19 /* Linux Classical IP over ATM */ + *** 1494 LINES SKIPPED *** From nobody Sun Mar 15 05:37:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYRnq4VQ1z6V818 for ; Sun, 15 Mar 2026 05:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYRnp3dF3z4J01 for ; Sun, 15 Mar 2026 05:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773553071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cb687AUz0riuoh/5y3GdP1wD1tQpfy8g3IXEDHxRsSw=; b=qQunS25RhUpD8U8O2mRYghvpX49mcHtJyB7pBaSe55wYbfZFZPFngyulAhtbQgSFm1nIMK rWaU3lW3pGDt53Q8/R8U05wdoPvGvOe3mbai6eLXCSqbOLlHf37urwsKBvZJ6zzlqYaPDj uOSr+COuHhmOg7/lr7KOGzQDEpfjRn9nQBD3doQlhsExty2Zi1bDwp57dtFDJZwi+8fkuG zTyExBoZN2l8jyq58oNC4JrVcD6lqPg5kEmI1c9ruQlHM4h6Q3ykivwzUnsuTyCTxRs7U6 aUUwc09ZbVLNC1w4qkAuPDueIkZYoymcIYitlAni6THyxouOeZ7g48nHGaK9Hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773553070; a=rsa-sha256; cv=none; b=bNUMDBO/3cs1uC1BPhfgxkT72zrpLpfZESfIzSV5R4cKzk+bm2N2OqMqoy7MDuUbwHKgI6 w97Q20vvxmaG7HM5ek2MlXoj1vX4jlefePeoZXIui81K6adoF2ZXaqzpuEhdABdntYRL/s tFqq11AfnLlZwRmy5P8jwEFEXyTe2ToQ9/GqPoUoEvtTC8NxVVop8WWFy7vCCe1mErHWfL OhBycjYFThTs0oRr65zH7UizADkzlg84Lwc5ZRB+HoCYh1RSTxPRN+AdjslD0cx9K6Fa9J bEEerEK129vYNYtpaPZ71JjpHXE4hq5iKmfGSBGC3ZILkZu5S8u3yR01hwGmpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773553070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cb687AUz0riuoh/5y3GdP1wD1tQpfy8g3IXEDHxRsSw=; b=pY9+YoQkkwso2xdh6ZOmG5LCVT178d+9+KkoxcxB4LNPutBQDm2gNkxqRO7NBL2B3fn6jx NRibJ8YrycFDz1REU0o0iJnYWhVFzRshniD4JEHIQdY9O5eiBdG445ye/uuE3pkQU+WYTm PFMvcNOggIaWHBxtBWAVALJSGH9T0lUQKVkuUqOjxL92HwpVw9uIYvT0+GChAfJfr4Yzn2 5lz+6lkT8GsNliCrtVS8ZhZ9tooJixrNc/OL0XCLVWVa7wKbbo1G62LgypZO+Cow4FBnFD OdhR967FY0TLURSdG6Zxzq3a5nqCij5fx3ZSvlVehy7oKBfrEwW85yyTf19xfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYRnp2xNwzc2w for ; Sun, 15 Mar 2026 05:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e97a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 05:37:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: a0b3ef195260 - main - ipfwpcap: Fix build after libpcap 1.10.6 update List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: a0b3ef1952603ebf0307ca723b03e5a71598dd5a Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 05:37:50 +0000 Message-Id: <69b645ae.1e97a.46de4c5f@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=a0b3ef1952603ebf0307ca723b03e5a71598dd5a commit a0b3ef1952603ebf0307ca723b03e5a71598dd5a Author: Joseph Mingrone AuthorDate: 2026-03-15 05:32:01 +0000 Commit: Joseph Mingrone CommitDate: 2026-03-15 05:32:01 +0000 ipfwpcap: Fix build after libpcap 1.10.6 update pcap-int.h now references SIZEOF_TIME_T from libpcap's config.h, which is not available to consumers of the internal header outside of the libpcap build. Switch to the public header and replace the direct FILE* casts and ferror()/fflush() calls with pcap_dump_flush(3), which is the correct public API for flushing a pcap dump file. Sponsored by: The FreeBSD Foundation --- usr.sbin/ipfwpcap/ipfwpcap.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/usr.sbin/ipfwpcap/ipfwpcap.c b/usr.sbin/ipfwpcap/ipfwpcap.c index a9cead99bd07..2032387aaa0b 100644 --- a/usr.sbin/ipfwpcap/ipfwpcap.c +++ b/usr.sbin/ipfwpcap/ipfwpcap.c @@ -41,11 +41,7 @@ #include -/* XXX normally defined in config.h */ -#define HAVE_STRLCPY 1 -#define HAVE_SNPRINTF 1 -#define HAVE_VSNPRINTF 1 -#include /* see pcap(3) and /usr/src/contrib/libpcap/. */ +#include #ifdef IP_MAXPACKET #define BUFMAX IP_MAXPACKET @@ -295,8 +291,7 @@ if (debug) fprintf(stderr, " sendto(%d) = %d\n", sd, r); (void) gettimeofday(&(phd.ts), NULL); phd.caplen = phd.len = nr; pcap_dump((u_char *)dp, &phd, buf); - if (ferror((FILE *)dp)) { perror(dumpf); quit(14); } - (void) fflush((FILE *)dp); + if (pcap_dump_flush(dp) == -1) { pcap_perror(p, dumpf); quit(14); } } quit(0); From nobody Sun Mar 15 06:58:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYTZK6wjQz6VFns for ; Sun, 15 Mar 2026 06:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYTZK6Flmz3D7C for ; Sun, 15 Mar 2026 06:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773557881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1TyCpOZEe32vKJZT0uqI9xAVpiK4ZOGjiITJUC6VXRc=; b=INbHLivuU+d+NlWOfGYeaii1+Z+hAAF1vcYqjh8kyyuqGlHiNPyUAI0sbT4Ri3sibDrH+X cl2AODsCdgEcyrEFi7cLohGO47UBw8tSi2gbIPCF/V8jTtV6JjhhwL/ymBkwXCXMzHHJ38 63nuM4s0kvTevGxvw2qQHRIxOccvNoC1l1u+58xEtQ/ycbum/l1tic2bwO8MwNAU/YbLQe C0b79UGzF45IknQ/LaT/efAs8wO5DPPAscCiMhfUOFDcJx3w757kGvnKHe6x8R1BVOqZNP N5QKr1CrqmYVPe9kFqnb2V822FLoAhjeKs7AXVqfJSxyuu2ndyE210XTcj9dTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773557881; a=rsa-sha256; cv=none; b=AbFgZUNuDa1+J9fq9W6wVrdHPYkUHXsdXYJqzHki0pWxHgzJarO6bxIoIhOPgC1KIzPmus 88XitxFNqValMB5NCyQ0/CPslYwTClQ0eqJSEdlrgWLqRxKRDYORDS+FbISHVTKdS6oZZI w6ooVJ3a7X0fKNcbi126Bq1XfMYf9/FY1Z+lfPj7jSbzEgJJ7I3IbsmrTg5LZ/5HIetaH9 CSRkRZbL9c4hdNR2mnAJXyBQoI0mG+fsZLolC/GT8f9gm28jvG0GSUYysLZ1GMeQLIX5sn IMesLPZ8b7O0uM5xZelcKptamyIzniCa1ykScayjyUxfasC1572zRgHeRkaM9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773557881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1TyCpOZEe32vKJZT0uqI9xAVpiK4ZOGjiITJUC6VXRc=; b=mZlStkbc3kuBBM0QEyx9cpUh4x2CamANWvA4XY1iOWLHZVJ2j3f1Xn9vdSociUF9HVpa9y Hgz/tsYKbl4fNiMwpNHCsS2zrl/kB96IpVYqxE5VgBHRaojlUxbTNy71n7fHRvnr6kubrX 7+in4I8oiQxnIdctIwHXohT90eRwfvqMB8n9ulLf0tjLv27ItmuJlEHoUMPNwaQE2LnxvW 1NWopjnW3ReEdZTErKL2G2z6FnNVOvX/5GEOvxuIPcPkKb4ax9W7Gd5aceLZbPoGVhew1x y95gxLTvzWRHF+YGdI34JcSw3kUJlDzxvLkmkVjm2DHMTtqiZ98YIZwo9bJexg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYTZK5LvJzdRb for ; Sun, 15 Mar 2026 06:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27fa1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 06:58:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 8365f877b1e4 - main - amd64: do reset %rip after page fault if pcb_onfault is set List-Id: Commit messages for the main 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: 8365f877b1e4b6d4c30df72e0826ca60a412ce7d Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 06:58:01 +0000 Message-Id: <69b65879.27fa1.4fc60671@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8365f877b1e4b6d4c30df72e0826ca60a412ce7d commit 8365f877b1e4b6d4c30df72e0826ca60a412ce7d Author: Konstantin Belousov AuthorDate: 2026-03-14 11:40:07 +0000 Commit: Konstantin Belousov CommitDate: 2026-03-15 06:57:08 +0000 amd64: do reset %rip after page fault if pcb_onfault is set for any kernel page fault, and not only for EFIRT case. Reported and tested by: pho Fixes: 914a53570750ce5a104a5870403d7669656fddc3 Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/amd64/amd64/trap.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 4bf56226d076..3a9323936d2d 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -219,15 +219,19 @@ trap_uprintf_signal(struct thread *td, struct trapframe *frame, register_t addr, } static bool -trap_check_efirt(struct thread *td, struct trapframe *frame) +trap_check_pcb_onfault(struct thread *td, struct trapframe *frame) { - /* - * Most likely, EFI RT faulted. This check prevents - * kdb from handling breakpoints set on the BIOS text, - * if such option is ever needed. - */ - if ((td->td_pflags & TDP_EFIRT) != 0 && - curpcb->pcb_onfault != NULL) { + bool res = false; + + if (curpcb->pcb_onfault == NULL) + return (res); + + if (__predict_false((td->td_pflags & TDP_EFIRT) != 0)) { + /* + * Most likely, EFI RT faulted. This check prevents + * kdb from handling breakpoints set on the BIOS text, + * if such option is ever needed. + */ u_long cnt = atomic_fetchadd_long(&cnt_efirt_faults, 1); if ((print_efirt_faults == 1 && cnt == 0) || @@ -236,10 +240,13 @@ trap_check_efirt(struct thread *td, struct trapframe *frame) traptype_to_msg(frame->tf_trapno)); trap_diag(frame, 0); } - frame->tf_rip = (long)curpcb->pcb_onfault; - return (true); + res = true; + } else if (frame->tf_trapno == T_PAGEFLT) { + res = true; } - return (false); + if (res) + frame->tf_rip = (register_t)curpcb->pcb_onfault; + return (res); } static void @@ -494,7 +501,7 @@ trap(struct trapframe *frame) KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); - if (type != T_PAGEFLT && trap_check_efirt(td, frame)) + if (type != T_PAGEFLT && trap_check_pcb_onfault(td, frame)) return; switch (type) { @@ -904,7 +911,7 @@ trap_pfault(struct trapframe *frame, bool usermode, int *signo, int *ucode) return (1); after_vmfault: if (td->td_intr_nesting_level == 0 && - trap_check_efirt(td, frame)) + trap_check_pcb_onfault(td, frame)) return (0); trap_fatal(frame, eva); return (-1); From nobody Sun Mar 15 07:07:59 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYTpw1xG4z6VGnq; Sun, 15 Mar 2026 07:08:56 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp6.goneo.de (smtp6.goneo.de [85.220.129.31]) (using TLSv1.3 with cipher TLS_AES_256_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 4fYTpv5FTrz3Fvb; Sun, 15 Mar 2026 07:08:55 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; none Received: from hub2.goneo.de (hub2.goneo.de [IPv6:2001:1640:5::8:53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp6.goneo.de (Postfix) with ESMTPS id DB2EE2405FA; Sun, 15 Mar 2026 08:08:52 +0100 (CET) Received: from hub2.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPS id 138852400D4; Sun, 15 Mar 2026 08:08:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1773558531; 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=pUZFHVjQRY/GGdvwq5c4LfDniAZN1XeIXqIS1DvjwJI=; b=VVbkRdhRAKCEJi/kSUGwBj+90FPR9qqdkUYIZZRbtRzJMTF89UsPDuI0HZ7f22zQRsEUL7 8Hs+US1YiI4MRgTBw72k8xFJRuFipKpezmCDGdAaHvMU6T1ybrWsYyWvxZEKQzxgi+mHLe sSOmGozaEw+R5y1Uq8duGzcD1pLhn8A3Hox8un/lChk00jCzXZbbLJ1/iJvNk9xCeMbt8R 2TmVJnxEMdlXy19fIG2QIGEWeQ0AauCPGBjzlDAojqqhF6/lqvLPTHQT5gouqFKnl6Ma8i gVAkVDyhHvWCUlVdR13VxVkNTpQXxgJDnaEDy1nInD17scCwg7D50eJ1SF8eJw== Received: from thor.sb211.local (dynamic-2a02-3100-2218-fc02-dded-68cf-e902-4bad.310.pool.telefonica.de [IPv6:2a02:3100:2218:fc02:dded:68cf:e902:4bad]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPSA id ABB892400A4; Sun, 15 Mar 2026 08:08:50 +0100 (CET) Date: Sun, 15 Mar 2026 08:07:59 +0100 From: A FreeBSD User To: Martin Matuska Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 8a62a2a5659d - main - zfs: merge openzfs/zfs@f8e5af53e Message-ID: <20260315080826.6a07e638@thor.sb211.local> In-Reply-To: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> References: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> X-Mailer: Claws Mail 3.21.0 (GTK+ 2.24.33; amd64-portbld-freebsd16.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: multipart/signed; boundary="Sig_/3BPityYhB1371w5jWWcZyuK"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Rspamd-UID: c74cb0 X-Rspamd-UID: fd31d4 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:25394, ipnet:85.220.128.0/17, country:DE] X-Rspamd-Queue-Id: 4fYTpv5FTrz3Fvb X-Spamd-Bar: ---- --Sig_/3BPityYhB1371w5jWWcZyuK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Tage des Herren Sat, 14 Mar 2026 13:26:23 +0000 Martin Matuska schrieb: > The branch main has been updated by mm: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D8a62a2a5659d1839d8799b4274= c04469d7f17c78 >=20 > commit 8a62a2a5659d1839d8799b4274c04469d7f17c78 > Merge: f91464171d61 f8e5af53e92f > Author: Martin Matuska > AuthorDate: 2026-03-14 12:14:56 +0000 > Commit: Martin Matuska > CommitDate: 2026-03-14 12:14:56 +0000 >=20 > zfs: merge openzfs/zfs@f8e5af53e > =20 > Notable upstream pull request merges: > #17358 4975430cf Add vdev property to disable vdev scheduler > #18031 c77f17b75 Add snapshots_changed_nsecs dataset property > #18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly crea= ted > datasets > #18089 -multiple Zstd: Update bundled library to version 1.5.7 > #18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the > snapshot > #18093 -multiple L2ARC: Rework write throttling with DWPD rate limit= ing > and parallel writes > #18095 2dbd6af5e Rename several printf attributes declarations to > __printf__ > #18096 8605bdfdd FreeBSD: unbreak compilation on i386 > #18105 794f1587d When receiving a stream with the large block flag, > activate feature > #18115 765929cb4 DDT: Add locking for table ZAP destruction > #18118 09e4e01e9 Fix history logging for `zpool create -t` > #18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF targe= ts > #18131 3fffe4e70 Fix --enable-invariants on FreeBSD > #18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code > #18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS > #18138 cdf89f413 Flush RRD only when TXGs contain data > #18139 a157ef62a Make sure we can still write data to txg > #18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD dou= ble > free panic > #18144 4f180e095 Fix activating large_microzap on receive > #18146 35b2d3970 Lock db_mtx around arc_release() in couple places > #18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition > #18160 21bbe7cb6 Improve caching for dbuf prefetches > #18177 -multiple Multihost Improvements > #18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks > #18180 aa29455dd Restrict cloning with different properties > #18184 040ba7a7c libzfs: improve error message for zpool create with > ENXIO > #18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after > zfs_setattr_dir() > #18198 cc184fe98 Fix `send:raw` permission for send `-w -I` > #18208 ba970eb20 Cleanup allocation class selection > #18212 0f9564e85 Simplify dnode_level_is_l2cacheable() > #18214 370570890 Remove parent ZIO from dbuf_prefetch() > #18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC > #18222 d06a1d9ac Fix available space accounting for special/dedup > #18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document > source files > #18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functions > #18230 -multiple Fix zdb --key crash for unencrypted datasets, and > teach tests to understand this better > #18233 -multiple icp: add SHA-512 implementation using Intel SHA512 > extension > #18245 991fc56fa Introduce dedupused/dedupsaved pool properties > #18251 6a717f31e Improve misleading error messages for > ZPOOL_STATUS_CORRUPT_POOL > #18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX512= VL > #18255 6495dafd5 range_tree: use zfs_panic_recover() for > partial-overlap remov > #18256 3408332d7 zhack: Fix importing large allocation profiles on > small pools > #18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild() > #18263 f8e5af53e Fix redundant declaration of dsl_pool_t > =20 > Obtained from: OpenZFS > OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920 >=20 > cddl/lib/libzfs/Makefile | 36 +- > cddl/lib/libzpool/Makefile | 7 +- > stand/libsa/zfs/Makefile.inc | 6 +- > stand/libsa/zfs/xxhash.c | 24 + > sys/conf/files | 7 +- > .../.github/workflows/scripts/qemu-1-setup.sh | 110 +- > .../.github/workflows/scripts/qemu-2-start.sh | 53 +- > .../.github/workflows/scripts/qemu-3-deps-vm.sh | 50 +- > .../.github/workflows/scripts/qemu-5-setup.sh | 22 +- > .../workflows/scripts/qemu-6-lustre-tests-vm.sh | 51 + > .../.github/workflows/scripts/qemu-6-tests.sh | 132 +- > .../.github/workflows/scripts/qemu-8-summary.sh | 32 + > .../.github/workflows/scripts/qemu-test-repo-vm.sh | 27 +- > .../.github/workflows/zfs-qemu-packages.yml | 15 +- > sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 16 +- > sys/contrib/openzfs/.mailmap | 10 + > sys/contrib/openzfs/AUTHORS | 14 + > sys/contrib/openzfs/META | 2 +- > sys/contrib/openzfs/Makefile.am | 2 + > sys/contrib/openzfs/autogen.sh | 1 + > sys/contrib/openzfs/cmd/Makefile.am | 5 +- > sys/contrib/openzfs/cmd/raidz_test/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zdb/Makefile.am | 5 +- > sys/contrib/openzfs/cmd/zdb/zdb.c | 53 +- > sys/contrib/openzfs/cmd/zed/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am | 1 + > .../zed/zed.d/history_event-zfs-list-cacher.sh.in | 1 + > sys/contrib/openzfs/cmd/zfs/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zfs/zfs_main.c | 89 +- > sys/contrib/openzfs/cmd/zhack.c | 166 +- > sys/contrib/openzfs/cmd/zinject/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zpool/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zpool/zpool_main.c | 16 +- > sys/contrib/openzfs/cmd/zpool/zpool_util.c | 26 - > sys/contrib/openzfs/cmd/zpool/zpool_util.h | 2 - > sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am | 1 + > sys/contrib/openzfs/cmd/zstream/Makefile.am | 1 + > sys/contrib/openzfs/cmd/ztest.c | 7 +- > sys/contrib/openzfs/config/CppCheck.am | 1 + > sys/contrib/openzfs/config/Rules.am | 1 + > sys/contrib/openzfs/config/Shellcheck.am | 1 + > sys/contrib/openzfs/config/Substfiles.am | 1 + > sys/contrib/openzfs/config/always-arch.m4 | 1 + > .../openzfs/config/always-compiler-options.m4 | 1 + > sys/contrib/openzfs/config/always-cppcheck.m4 | 1 + > sys/contrib/openzfs/config/always-parallel.m4 | 1 + > sys/contrib/openzfs/config/always-python.m4 | 1 + > sys/contrib/openzfs/config/always-pyzfs.m4 | 1 + > sys/contrib/openzfs/config/always-sed.m4 | 1 + > sys/contrib/openzfs/config/always-shellcheck.m4 | 1 + > sys/contrib/openzfs/config/always-system.m4 | 1 + > sys/contrib/openzfs/config/ax_compare_version.m4 | 1 + > sys/contrib/openzfs/config/ax_count_cpus.m4 | 1 + > sys/contrib/openzfs/config/ax_python_devel.m4 | 1 + > sys/contrib/openzfs/config/ax_restore_flags.m4 | 1 + > sys/contrib/openzfs/config/ax_save_flags.m4 | 1 + > sys/contrib/openzfs/config/deb.am | 1 + > sys/contrib/openzfs/config/find_system_library.m4 | 1 + > sys/contrib/openzfs/config/gettext.m4 | 1 + > sys/contrib/openzfs/config/host-cpu-c-abi.m4 | 1 + > sys/contrib/openzfs/config/iconv.m4 | 1 + > .../openzfs/config/kernel-access-ok-type.m4 | 1 + > sys/contrib/openzfs/config/kernel-acl.m4 | 32 + > sys/contrib/openzfs/config/kernel-add-disk.m4 | 1 + > sys/contrib/openzfs/config/kernel-assign_str.m4 | 1 + > sys/contrib/openzfs/config/kernel-automount.m4 | 1 + > sys/contrib/openzfs/config/kernel-bio.m4 | 1 + > sys/contrib/openzfs/config/kernel-bio_max_segs.m4 | 1 + > sys/contrib/openzfs/config/kernel-blk-queue.m4 | 27 + > sys/contrib/openzfs/config/kernel-blkdev.m4 | 1 + > .../config/kernel-block-device-operations.m4 | 1 + > .../openzfs/config/kernel-commit-metadata.m4 | 1 + > .../openzfs/config/kernel-config-defined.m4 | 1 + > .../config/kernel-copy-from-user-inatomic.m4 | 1 + > .../openzfs/config/kernel-cpu_has_feature.m4 | 1 + > .../openzfs/config/kernel-declare-event-class.m4 | 1 + > .../openzfs/config/kernel-dentry-operations.m4 | 1 + > .../openzfs/config/kernel-discard-granularity.m4 | 1 + > sys/contrib/openzfs/config/kernel-drop-inode.m4 | 1 + > sys/contrib/openzfs/config/kernel-file.m4 | 1 + > sys/contrib/openzfs/config/kernel-filelock.m4 | 23 + > .../openzfs/config/kernel-filemap-splice-read.m4 | 1 + > .../openzfs/config/kernel-flush_dcache_page.m4 | 1 + > sys/contrib/openzfs/config/kernel-fmode-t.m4 | 1 + > .../openzfs/config/kernel-follow-down-one.m4 | 1 + > sys/contrib/openzfs/config/kernel-fpu.m4 | 1 + > sys/contrib/openzfs/config/kernel-free-inode.m4 | 1 + > sys/contrib/openzfs/config/kernel-fs-context.m4 | 33 + > sys/contrib/openzfs/config/kernel-fst-mount.m4 | 30 - > sys/contrib/openzfs/config/kernel-fsync-bdev.m4 | 1 + > .../openzfs/config/kernel-generic_fadvise.m4 | 1 + > .../openzfs/config/kernel-generic_fillattr.m4 | 1 + > .../openzfs/config/kernel-generic_io_acct.m4 | 1 + > sys/contrib/openzfs/config/kernel-genhd-flags.m4 | 1 + > sys/contrib/openzfs/config/kernel-get-disk-ro.m4 | 1 + > sys/contrib/openzfs/config/kernel-iattr-vfsid.m4 | 1 + > sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-create.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-getattr.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-lookup.m4 | 1 + > .../openzfs/config/kernel-inode-permission.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-setattr.m4 | 1 + > sys/contrib/openzfs/config/kernel-inode-state.m4 | 24 + > sys/contrib/openzfs/config/kernel-inode-times.m4 | 1 + > .../openzfs/config/kernel-insert-inode-locked.m4 | 1 + > .../openzfs/config/kernel-is_owner_or_cap.m4 | 1 + > sys/contrib/openzfs/config/kernel-kasan-enabled.m4 | 1 + > .../openzfs/config/kernel-kmap-atomic-args.m4 | 1 + > .../openzfs/config/kernel-kmap-local-page.m4 | 1 + > sys/contrib/openzfs/config/kernel-kmem.m4 | 1 + > sys/contrib/openzfs/config/kernel-kthread.m4 | 1 + > sys/contrib/openzfs/config/kernel-kuid-helpers.m4 | 1 + > sys/contrib/openzfs/config/kernel-kuidgid.m4 | 1 + > .../openzfs/config/kernel-make-request-fn.m4 | 1 + > sys/contrib/openzfs/config/kernel-misc-minor.m4 | 1 + > sys/contrib/openzfs/config/kernel-mkdir.m4 | 1 + > sys/contrib/openzfs/config/kernel-mknod.m4 | 1 + > sys/contrib/openzfs/config/kernel-mm-page-flags.m4 | 28 + > sys/contrib/openzfs/config/kernel-mm-pagemap.m4 | 1 + > sys/contrib/openzfs/config/kernel-namespace.m4 | 1 + > sys/contrib/openzfs/config/kernel-objtool.m4 | 1 + > .../config/kernel-pagemap-folio_wait_bit.m4 | 1 + > .../config/kernel-pagemap-readahead-page.m4 | 1 + > sys/contrib/openzfs/config/kernel-pde-data.m4 | 1 + > sys/contrib/openzfs/config/kernel-percpu.m4 | 1 + > .../openzfs/config/kernel-pin-user-pages.m4 | 1 + > .../openzfs/config/kernel-proc-operations.m4 | 1 + > sys/contrib/openzfs/config/kernel-reclaim_state.m4 | 1 + > .../openzfs/config/kernel-register_sysctl_table.m4 | 1 + > sys/contrib/openzfs/config/kernel-rename.m4 | 1 + > .../openzfs/config/kernel-revalidate-disk-size.m4 | 1 + > sys/contrib/openzfs/config/kernel-sb-dying.m4 | 1 + > sys/contrib/openzfs/config/kernel-sb-wb-err.m4 | 1 + > sys/contrib/openzfs/config/kernel-sched.m4 | 1 + > .../openzfs/config/kernel-security-inode-init.m4 | 1 + > sys/contrib/openzfs/config/kernel-set-nlink.m4 | 1 + > .../openzfs/config/kernel-setattr-prepare.m4 | 1 + > sys/contrib/openzfs/config/kernel-sget-args.m4 | 1 + > sys/contrib/openzfs/config/kernel-show-options.m4 | 1 + > sys/contrib/openzfs/config/kernel-shrink.m4 | 1 + > sys/contrib/openzfs/config/kernel-siginfo.m4 | 1 + > sys/contrib/openzfs/config/kernel-stdarg.m4 | 1 + > sys/contrib/openzfs/config/kernel-strlcpy.m4 | 1 + > sys/contrib/openzfs/config/kernel-symlink.m4 | 1 + > sys/contrib/openzfs/config/kernel-sysfs.m4 | 1 + > sys/contrib/openzfs/config/kernel-timer.m4 | 1 + > sys/contrib/openzfs/config/kernel-tmpfile.m4 | 1 + > .../openzfs/config/kernel-totalhigh_pages.m4 | 1 + > .../openzfs/config/kernel-totalram-pages-func.m4 | 1 + > .../openzfs/config/kernel-truncate-setsize.m4 | 1 + > sys/contrib/openzfs/config/kernel-types.m4 | 1 + > sys/contrib/openzfs/config/kernel-usleep_range.m4 | 1 + > .../openzfs/config/kernel-vfs-file_range.m4 | 1 + > .../config/kernel-vfs-filemap_dirty_folio.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-fsync.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 | 1 + > .../openzfs/config/kernel-vfs-migrate_folio.m4 | 1 + > .../openzfs/config/kernel-vfs-migratepage.m4 | 1 + > .../openzfs/config/kernel-vfs-read_folio.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-readpages.m4 | 1 + > .../openzfs/config/kernel-vfs-set_page_dirty.m4 | 1 + > sys/contrib/openzfs/config/kernel-vfs-writepage.m4 | 1 + > sys/contrib/openzfs/config/kernel-writeback.m4 | 1 + > sys/contrib/openzfs/config/kernel-xattr-handler.m4 | 1 + > sys/contrib/openzfs/config/kernel-zero_page.m4 | 1 + > sys/contrib/openzfs/config/kernel.m4 | 9 +- > sys/contrib/openzfs/config/lib-ld.m4 | 1 + > sys/contrib/openzfs/config/lib-link.m4 | 1 + > sys/contrib/openzfs/config/lib-prefix.m4 | 1 + > sys/contrib/openzfs/config/mount-helper.m4 | 1 + > sys/contrib/openzfs/config/nls.m4 | 1 + > sys/contrib/openzfs/config/pkg.m4 | 1 + > sys/contrib/openzfs/config/po.m4 | 1 + > sys/contrib/openzfs/config/progtest.m4 | 1 + > sys/contrib/openzfs/config/rpm.am | 1 + > sys/contrib/openzfs/config/tgz.am | 1 + > sys/contrib/openzfs/config/toolchain-simd.m4 | 23 + > sys/contrib/openzfs/config/user-aio.h.m4 | 1 + > sys/contrib/openzfs/config/user-backtrace.m4 | 1 + > sys/contrib/openzfs/config/user-clock_gettime.m4 | 1 + > sys/contrib/openzfs/config/user-dracut.m4 | 1 + > sys/contrib/openzfs/config/user-gettext.m4 | 1 + > sys/contrib/openzfs/config/user-largefile.m4 | 1 + > sys/contrib/openzfs/config/user-libaio.m4 | 1 + > sys/contrib/openzfs/config/user-libatomic.m4 | 1 + > sys/contrib/openzfs/config/user-libblkid.m4 | 1 + > sys/contrib/openzfs/config/user-libcrypto.m4 | 1 + > sys/contrib/openzfs/config/user-libexec.m4 | 1 + > sys/contrib/openzfs/config/user-libfetch.m4 | 1 + > sys/contrib/openzfs/config/user-libtirpc.m4 | 1 + > sys/contrib/openzfs/config/user-libudev.m4 | 1 + > sys/contrib/openzfs/config/user-libunwind.m4 | 1 + > sys/contrib/openzfs/config/user-libuuid.m4 | 1 + > sys/contrib/openzfs/config/user-makedev.m4 | 1 + > sys/contrib/openzfs/config/user-pam.m4 | 1 + > sys/contrib/openzfs/config/user-runstatedir.m4 | 1 + > sys/contrib/openzfs/config/user-statx.m4 | 1 + > sys/contrib/openzfs/config/user-systemd.m4 | 1 + > sys/contrib/openzfs/config/user-sysvinit.m4 | 1 + > sys/contrib/openzfs/config/user-udev.m4 | 1 + > sys/contrib/openzfs/config/user-zlib.m4 | 1 + > sys/contrib/openzfs/config/user.m4 | 1 + > sys/contrib/openzfs/config/zfs-build.m4 | 3 +- > sys/contrib/openzfs/config/zfs-meta.m4 | 1 + > sys/contrib/openzfs/contrib/Makefile.am | 1 + > .../openzfs/contrib/bash_completion.d/Makefile.am | 1 + > sys/contrib/openzfs/contrib/bpftrace/Makefile.am | 1 + > sys/contrib/openzfs/contrib/debian/Makefile.am | 1 + > .../contrib/debian/openzfs-libpam-zfs.install | 1 + > .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in | 2 +- > sys/contrib/openzfs/contrib/dracut/Makefile.am | 1 + > sys/contrib/openzfs/contrib/initramfs/Makefile.am | 1 + > .../openzfs/contrib/pam_zfs_key/Makefile.am | 1 + > .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c | 278 +- > sys/contrib/openzfs/contrib/pyzfs/Makefile.am | 1 + > .../openzfs/contrib/pyzfs/docs/source/index.rst | 3 +- > .../openzfs/contrib/pyzfs/libzfs_core/__init__.py | 10 - > .../pyzfs/libzfs_core/_error_translation.py | 58 - > .../contrib/pyzfs/libzfs_core/_libzfs_core.py | 350 +- > .../pyzfs/libzfs_core/bindings/libzfs_core.py | 4 - > .../pyzfs/libzfs_core/test/test_libzfs_core.py | 337 - > sys/contrib/openzfs/contrib/zcp/Makefile.am | 1 + > sys/contrib/openzfs/copy-builtin | 5 +- > sys/contrib/openzfs/etc/Makefile.am | 1 + > sys/contrib/openzfs/include/Makefile.am | 1 + > sys/contrib/openzfs/include/libzfs.h | 10 +- > sys/contrib/openzfs/include/os/freebsd/Makefile.am | 1 + > .../openzfs/include/os/freebsd/spl/sys/mod.h | 3 + > sys/contrib/openzfs/include/os/linux/Makefile.am | 1 + > .../include/os/linux/kernel/linux/dcache_compat.h | 19 +- > .../include/os/linux/kernel/linux/simd_x86.h | 14 + > .../include/os/linux/kernel/linux/vfs_compat.h | 8 + > .../include/os/linux/kernel/linux/xattr_compat.h | 17 + > .../openzfs/include/os/linux/spl/sys/kmem.h | 5 +- > sys/contrib/openzfs/include/sys/arc.h | 2 - > sys/contrib/openzfs/include/sys/arc_impl.h | 38 + > sys/contrib/openzfs/include/sys/btree.h | 9 +- > sys/contrib/openzfs/include/sys/ddt.h | 5 + > sys/contrib/openzfs/include/sys/dmu.h | 1 + > sys/contrib/openzfs/include/sys/dmu_objset.h | 1 + > sys/contrib/openzfs/include/sys/fs/zfs.h | 24 +- > sys/contrib/openzfs/include/sys/metaslab.h | 4 +- > sys/contrib/openzfs/include/sys/metaslab_impl.h | 8 +- > sys/contrib/openzfs/include/sys/mmp.h | 5 + > sys/contrib/openzfs/include/sys/spa.h | 1 + > sys/contrib/openzfs/include/sys/spa_impl.h | 4 + > sys/contrib/openzfs/include/sys/uberblock_impl.h | 22 +- > sys/contrib/openzfs/include/sys/vdev.h | 2 + > sys/contrib/openzfs/include/sys/vdev_impl.h | 2 + > sys/contrib/openzfs/include/sys/vdev_rebuild.h | 2 +- > sys/contrib/openzfs/lib/Makefile.am | 31 +- > sys/contrib/openzfs/lib/libavl/Makefile.am | 1 + > sys/contrib/openzfs/lib/libbtree/Makefile.am | 6 + > sys/contrib/openzfs/lib/libefi/Makefile.am | 1 + > sys/contrib/openzfs/lib/libicp/Makefile.am | 1 + > sys/contrib/openzfs/lib/libnvpair/Makefile.am | 1 + > sys/contrib/openzfs/lib/librange_tree/Makefile.am | 9 + > sys/contrib/openzfs/lib/libshare/Makefile.am | 27 - > sys/contrib/openzfs/lib/libshare/libshare_impl.h | 48 - > sys/contrib/openzfs/lib/libshare/nfs.h | 38 - > sys/contrib/openzfs/lib/libspl/Makefile.am | 1 + > sys/contrib/openzfs/lib/libspl/include/Makefile.am | 2 +- > sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 18 +- > .../openzfs/lib/libspl/include/sys/sysmacros.h | 29 +- > sys/contrib/openzfs/lib/libunicode/Makefile.am | 6 - > sys/contrib/openzfs/lib/libzdb/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzfs/Makefile.am | 18 +- > sys/contrib/openzfs/lib/libzfs/libzfs.abi | 450 +- > sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 13 + > sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 3 +- > sys/contrib/openzfs/lib/libzfs/libzfs_mount.c | 7 +- > sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 16 +- > .../{libshare/libshare.c =3D> libzfs/libzfs_share.c} | 3 +- > .../include/libshare.h =3D> libzfs/libzfs_share.h} | 80 +- > .../{libshare/nfs.c =3D> libzfs/libzfs_share_nfs.c} | 5 +- > .../nfs.c =3D> libzfs/os/freebsd/libzfs_share_nfs.c} | 5 +- > .../smb.c =3D> libzfs/os/freebsd/libzfs_share_smb.c} | 4 +- > .../nfs.c =3D> libzfs/os/linux/libzfs_share_nfs.c} | 4 +- > .../smb.c =3D> libzfs/os/linux/libzfs_share_smb.c} | 24 +- > sys/contrib/openzfs/lib/libzfs_core/Makefile.am | 1 + > .../openzfs/lib/libzfs_core/libzfs_core.abi | 11 +- > sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzpool/Makefile.am | 14 +- > .../openzfs/lib/libzpool/include/Makefile.am | 1 + > sys/contrib/openzfs/lib/libzpool/kernel.c | 28 - > sys/contrib/openzfs/lib/libzstd/Makefile.am | 7 + > sys/contrib/openzfs/lib/libzutil/Makefile.am | 1 + > sys/contrib/openzfs/man/Makefile.am | 2 + > sys/contrib/openzfs/man/man4/zfs.4 | 36 +- > sys/contrib/openzfs/man/man7/vdevprops.7 | 17 + > sys/contrib/openzfs/man/man7/zfsprops.7 | 9 + > sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 14 + > sys/contrib/openzfs/man/man7/zpoolprops.7 | 15 + > sys/contrib/openzfs/man/man8/pam_zfs_key.8 | 221 + > sys/contrib/openzfs/man/man8/zfs-clone.8 | 4 +- > sys/contrib/openzfs/man/man8/zfs-create.8 | 2 +- > sys/contrib/openzfs/man/man8/zfs-load-key.8 | 4 + > sys/contrib/openzfs/man/man8/zfs-mount.8 | 6 + > sys/contrib/openzfs/man/man8/zfs-rename.8 | 2 +- > sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 19 +- > sys/contrib/openzfs/man/man8/zfs.8 | 1 + > sys/contrib/openzfs/module/Kbuild.in | 26 +- > sys/contrib/openzfs/module/Makefile.bsd | 13 +- > sys/contrib/openzfs/module/Makefile.in | 5 +- > sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 1 + > .../openzfs/module/icp/algs/sha2/sha512_impl.c | 18 + > .../icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S | 44 +- > .../module/icp/asm-x86_64/modes/ghash-x86_64.S | 64 - > .../module/icp/asm-x86_64/sha2/sha512-x86_64.S | 321 +- > .../icp/include/modes/gcm_asm_rename_funcs.h} | 30 +- > sys/contrib/openzfs/module/nvpair/nvpair.c | 4 +- > .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 19 + > .../openzfs/module/os/freebsd/zfs/vdev_geom.c | 3 + > .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 25 +- > .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 13 - > .../openzfs/module/os/linux/spl/spl-atomic.c | 36 - > .../openzfs/module/os/linux/spl/spl-generic.c | 258 - > .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 8 +- > sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 4 +- > .../openzfs/module/os/linux/spl/spl-kstat.c | 3 - > .../openzfs/module/os/linux/spl/spl-math-compat.c | 275 + > .../openzfs/module/os/linux/spl/spl-trace.c | 2 - > sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 16 + > .../openzfs/module/os/linux/zfs/vdev_disk.c | 7 + > .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 21 +- > .../openzfs/module/os/linux/zfs/zpl_export.c | 87 +- > sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 4 + > .../openzfs/module/os/linux/zfs/zpl_inode.c | 26 + > .../openzfs/module/os/linux/zfs/zpl_super.c | 63 + > sys/contrib/openzfs/module/zcommon/simd_stat.c | 2 + > sys/contrib/openzfs/module/zcommon/zfs_prop.c | 10 +- > sys/contrib/openzfs/module/zcommon/zpool_prop.c | 17 + > sys/contrib/openzfs/module/zfs/arc.c | 1347 ++-- > sys/contrib/openzfs/module/zfs/btree.c | 17 +- > sys/contrib/openzfs/module/zfs/dataset_kstats.c | 2 +- > sys/contrib/openzfs/module/zfs/dbuf.c | 26 +- > sys/contrib/openzfs/module/zfs/ddt.c | 95 +- > sys/contrib/openzfs/module/zfs/ddt_log.c | 4 +- > sys/contrib/openzfs/module/zfs/ddt_stats.c | 15 + > sys/contrib/openzfs/module/zfs/dmu.c | 4 +- > sys/contrib/openzfs/module/zfs/dmu_objset.c | 19 + > sys/contrib/openzfs/module/zfs/dmu_recv.c | 46 +- > sys/contrib/openzfs/module/zfs/dmu_tx.c | 7 +- > sys/contrib/openzfs/module/zfs/dsl_dataset.c | 8 +- > sys/contrib/openzfs/module/zfs/metaslab.c | 72 +- > sys/contrib/openzfs/module/zfs/mmp.c | 158 +- > sys/contrib/openzfs/module/zfs/range_tree.c | 22 +- > sys/contrib/openzfs/module/zfs/sa.c | 15 +- > sys/contrib/openzfs/module/zfs/spa.c | 791 ++- > sys/contrib/openzfs/module/zfs/spa_log_spacemap.c | 5 +- > sys/contrib/openzfs/module/zfs/spa_misc.c | 75 +- > .../openzfs/module/{unicode =3D> zfs}/u8_textprep.c | 0 > sys/contrib/openzfs/module/zfs/vdev.c | 18 +- > sys/contrib/openzfs/module/zfs/vdev_file.c | 3 + > sys/contrib/openzfs/module/zfs/vdev_label.c | 10 +- > sys/contrib/openzfs/module/zfs/vdev_queue.c | 40 + > sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 20 +- > sys/contrib/openzfs/module/zfs/zcp_get.c | 8 + > sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 16 +- > sys/contrib/openzfs/module/zfs/zfs_vnops.c | 83 +- > sys/contrib/openzfs/module/zfs/zio_compress.c | 2 +- > sys/contrib/openzfs/module/zstd/README.md | 44 +- > .../module/zstd/include/zstd_compat_wrapper.h | 271 +- > .../openzfs/module/zstd/lib/common/allocations.h | 56 + > sys/contrib/openzfs/module/zstd/lib/common/bits.h | 206 + > .../openzfs/module/zstd/lib/common/bitstream.h | 210 +- > .../openzfs/module/zstd/lib/common/compiler.h | 372 +- > sys/contrib/openzfs/module/zstd/lib/common/cpu.h | 40 +- > sys/contrib/openzfs/module/zstd/lib/common/debug.h | 57 +- > .../module/zstd/lib/common/entropy_common.c | 220 +- > .../openzfs/module/zstd/lib/common/error_private.c | 13 +- > .../openzfs/module/zstd/lib/common/error_private.h | 104 +- > sys/contrib/openzfs/module/zstd/lib/common/fse.h | 143 +- > .../module/zstd/lib/common/fse_decompress.c | 206 +- > sys/contrib/openzfs/module/zstd/lib/common/huf.h | 287 +- > sys/contrib/openzfs/module/zstd/lib/common/mem.h | 284 +- > sys/contrib/openzfs/module/zstd/lib/common/pool.c | 81 +- > sys/contrib/openzfs/module/zstd/lib/common/pool.h | 25 +- > .../module/zstd/lib/common/portability_macros.h | 172 + > .../openzfs/module/zstd/lib/common/xxhash.c | 865 --- > .../openzfs/module/zstd/lib/common/xxhash.h | 7199 ++++++++++++++= +++++- > .../openzfs/module/zstd/lib/common/zstd_common.c | 44 +- > .../openzfs/module/zstd/lib/common/zstd_deps.h | 124 + > .../openzfs/module/zstd/lib/common/zstd_internal.h | 345 +- > .../openzfs/module/zstd/lib/common/zstd_trace.h | 157 + > .../openzfs/module/zstd/lib/compress/clevels.h | 135 + > .../module/zstd/lib/compress/fse_compress.c | 249 +- > .../openzfs/module/zstd/lib/compress/hist.c | 66 +- > .../openzfs/module/zstd/lib/compress/hist.h | 11 +- > .../module/zstd/lib/compress/huf_compress.c | 1240 +++- > .../module/zstd/lib/compress/zstd_compress.c | 5917 ++++++++++++--= -- > .../zstd/lib/compress/zstd_compress_internal.h | 1017 ++- > .../zstd/lib/compress/zstd_compress_literals.c | 163 +- > .../zstd/lib/compress/zstd_compress_literals.h | 22 +- > .../zstd/lib/compress/zstd_compress_sequences.c | 75 +- > .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- > .../zstd/lib/compress/zstd_compress_superblock.c | 693 +- > .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- > .../openzfs/module/zstd/lib/compress/zstd_cwksp.h | 484 +- > .../module/zstd/lib/compress/zstd_double_fast.c | 611 +- > .../module/zstd/lib/compress/zstd_double_fast.h | 32 +- > .../openzfs/module/zstd/lib/compress/zstd_fast.c | 1039 ++- > .../openzfs/module/zstd/lib/compress/zstd_fast.h | 21 +- > .../openzfs/module/zstd/lib/compress/zstd_lazy.c | 1665 ++++- > .../openzfs/module/zstd/lib/compress/zstd_lazy.h | 184 +- > .../openzfs/module/zstd/lib/compress/zstd_ldm.c | 608 +- > .../openzfs/module/zstd/lib/compress/zstd_ldm.h | 27 +- > .../module/zstd/lib/compress/zstd_ldm_geartab.h | 107 + > .../openzfs/module/zstd/lib/compress/zstd_opt.c | 1004 ++- > .../openzfs/module/zstd/lib/compress/zstd_opt.h | 58 +- > .../module/zstd/lib/compress/zstd_preSplit.c | 239 + > .../module/zstd/lib/compress/zstd_preSplit.h | 34 + > .../module/zstd/lib/decompress/huf_decompress.c | 1858 +++-- > .../zstd/lib/decompress/huf_decompress_amd64.S | 603 ++ > .../module/zstd/lib/decompress/zstd_ddict.c | 24 +- > .../module/zstd/lib/decompress/zstd_ddict.h | 4 +- > .../module/zstd/lib/decompress/zstd_decompress.c | 897 ++- > .../zstd/lib/decompress/zstd_decompress_block.c | 1565 +++-- > .../zstd/lib/decompress/zstd_decompress_block.h | 24 +- > .../zstd/lib/decompress/zstd_decompress_internal.h | 79 +- > sys/contrib/openzfs/module/zstd/lib/zstd.h | 1848 ++++- > .../module/zstd/lib/{common =3D> }/zstd_errors.h | 45 +- > sys/contrib/openzfs/module/zstd/zfs_zstd.c | 35 +- > sys/contrib/openzfs/module/zstd/zstd-in.c | 93 +- > sys/contrib/openzfs/rpm/Makefile.am | 1 + > sys/contrib/openzfs/scripts/Makefile.am | 1 + > sys/contrib/openzfs/scripts/objtool-wrapper.in | 4 +- > sys/contrib/openzfs/scripts/spdxcheck.pl | 25 +- > sys/contrib/openzfs/scripts/zfs-tests.sh | 16 +- > sys/contrib/openzfs/tests/Makefile.am | 1 + > sys/contrib/openzfs/tests/runfiles/common.run | 15 +- > sys/contrib/openzfs/tests/runfiles/linux.run | 8 +- > sys/contrib/openzfs/tests/runfiles/sanity.run | 3 +- > .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 - > sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 1 + > .../tests/zfs-tests/callbacks/zfs_dbgmsg.ksh | 2 +- > .../openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh | 2 +- > sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + > .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 +- > .../tests/zfs-tests/cmd/checksum/sha2_test.c | 39 +- > .../openzfs/tests/zfs-tests/cmd/mmap_seek.c | 2 +- > sys/contrib/openzfs/tests/zfs-tests/cmd/setlease.c | 126 + > .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +- > .../openzfs/tests/zfs-tests/include/libtest.shlib | 54 +- > .../openzfs/tests/zfs-tests/include/tunables.cfg | 4 +- > .../openzfs/tests/zfs-tests/tests/Makefile.am | 18 + > .../bclone/bclone_crossfs_corner_cases.ksh | 9 + > .../bclone/bclone_crossfs_corner_cases_limited.ksh | 9 + > .../functional/bclone/bclone_crossfs_data.ksh | 7 + > .../functional/bclone/bclone_crossfs_embedded.ksh | 7 + > .../functional/bclone/bclone_diffprops_all.ksh | 28 +- > .../bclone/bclone_diffprops_checksum.ksh | 18 +- > .../bclone/bclone_diffprops_compress.ksh | 16 +- > .../functional/bclone/bclone_diffprops_copies.ksh | 18 +- > .../bclone/bclone_diffprops_recordsize.ksh | 18 +- > .../tests/functional/bclone/bclone_prop_sync.ksh | 12 +- > .../bclone/bclone_samefs_corner_cases.ksh | 7 + > .../bclone/bclone_samefs_corner_cases_limited.ksh | 7 + > .../tests/functional/bclone/bclone_samefs_data.ksh | 6 + > .../functional/bclone/bclone_samefs_embedded.ksh | 6 + > .../functional/block_cloning/block_cloning.kshlib | 24 - > .../block_cloning_after_device_removal.ksh | 61 + > .../tests/functional/cache/cache_012_pos.ksh | 5 + > .../cli_root/zfs_clone/zfs_clone_nomount.ksh | 66 + > .../zfs_rewrite/zfs_rewrite_skip_clone.ksh | 83 + > .../zfs_rewrite/zfs_rewrite_skip_snapshot.ksh | 74 + > .../zpool_create/zpool_create_tempname.ksh | 2 + > .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + > .../functional/cli_root/zpool_get/zpool_get.cfg | 2 + > .../cli_root/zpool_get/zpool_get_parsable.cfg | 4 +- > .../cli_root/zpool_set/vdev_set_scheduler.ksh | 93 + > .../zfs_send_delegation_user/zfs_send_usertest.ksh | 11 +- > .../functional/events/zed_synchronous_zedlet.ksh | 6 +- > .../zfs-tests/tests/functional/l2arc/l2arc.cfg | 3 +- > .../functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh | 138 + > .../functional/l2arc/l2arc_dwpd_reimport_pos.ksh | 169 + > .../l2arc/l2arc_multidev_scaling_pos.ksh | 162 + > .../l2arc/l2arc_multidev_throughput_pos.ksh | 133 + > .../zfs-tests/tests/functional/lease/cleanup.ksh | 26 + > .../tests/functional/lease/lease_setlease.ksh | 44 + > .../zfs-tests/tests/functional/lease/setup.ksh | 27 + > .../tests/zfs-tests/tests/functional/mmp/mmp.cfg | 6 +- > .../zfs-tests/tests/functional/mmp/mmp.kshlib | 47 +- > .../tests/functional/mmp/mmp_active_import.ksh | 42 +- > .../tests/functional/mmp/mmp_concurrent_import.ksh | 133 + > .../tests/functional/mmp/mmp_exported_import.ksh | 16 +- > .../zfs-tests/tests/functional/mmp/mmp_hostid.ksh | 8 +- > .../tests/functional/mmp/mmp_inactive_import.ksh | 20 +- > .../zfs-tests/tests/functional/mmp/mmp_on_off.ksh | 4 +- > .../tests/functional/mmp/mmp_on_thread.ksh | 4 +- > .../tests/functional/mmp/mmp_on_uberblocks.ksh | 14 +- > .../zfs-tests/tests/functional/mmp/mmp_on_zdb.ksh | 3 +- > .../tests/functional/mmp/mmp_reset_interval.ksh | 8 +- > .../functional/mmp/mmp_write_distribution.ksh | 2 +- > .../tests/functional/mmp/mmp_write_uberblocks.ksh | 4 +- > .../tests/functional/mmp/multihost_history.ksh | 2 + > .../tests/functional/mount/mount_loopback.ksh | 3 +- > .../zfs-tests/tests/functional/pam/pam_basic.ksh | 58 + > .../tests/functional/pam/pam_change_unmounted.ksh | 13 +- > .../tests/functional/pam/pam_nounmount.ksh | 14 +- > .../tests/zfs-tests/tests/functional/pam/setup.ksh | 11 + > .../tests/functional/pam/utilities.kshlib.in | 6 + > .../rsend/send_large_blocks_incremental.ksh | 83 + > .../functional/rsend/send_large_blocks_initial.ksh | 86 + > .../rsend/send_large_microzap_incremental.ksh | 91 + > .../rsend/send_large_microzap_transitive.ksh | 100 + > .../tests/functional/snapshot/snapshot_018_pos.ksh | 52 +- > .../zfs-tests/tests/functional/trim/trim_l2arc.ksh | 5 +- > sys/contrib/openzfs/udev/Makefile.am | 1 + > sys/modules/dtrace/fasttrap/Makefile | 2 +- > sys/modules/zfs/Makefile | 8 +- > sys/modules/zfs/zfs_config.h | 24 +- > sys/modules/zfs/zfs_gitrev.h | 2 +- > 513 files changed, 34137 insertions(+), 10963 deletions(-) >=20 > diff --cc cddl/lib/libzfs/Makefile > index a034118a6f5b,000000000000..8f364d2c2bb1 > mode 100644,000000..100644 > --- a/cddl/lib/libzfs/Makefile > +++ b/cddl/lib/libzfs/Makefile > @@@ -1,109 -1,0 +1,105 @@@ > +.PATH: ${ZFSTOP}/module/icp > +.PATH: ${ZFSTOP}/module/zcommon > +.PATH: ${ZFSTOP}/lib/libzfs > +.PATH: ${ZFSTOP}/lib/libzfs/os/freebsd > - .PATH: ${ZFSTOP}/lib/libshare > +.PATH: ${ZFSTOP}/include > +.PATH: ${ZFSTOP}/module/zstd > +.PATH: ${ZFSTOP}/module/zstd/lib > + > +PACKAGE=3D zfs > +LIB_PACKAGE=3D > + > +LIB=3D zfs > +LIBADD=3D \ > + avl \ > + bsdxml \ > + crypto \ > + geom \ > + m \ > + md \ > + nvpair \ > + pthread \ > + rt \ > + umem \ > + util \ > + z \ > + zfs_core \ > + zutil > + > +INCS=3D libzfs.h > +USER_C =3D \ > - libzfs_changelist.c \ > - libzfs_config.c \ > - libzfs_crypto.c \ > - libzfs_dataset.c \ > - libzfs_diff.c \ > - libzfs_import.c \ > - libzfs_iter.c \ > - libzfs_mount.c \ > - libzfs_pool.c \ > - libzfs_sendrecv.c \ > - libzfs_status.c \ > - libzfs_util.c > ++ libzfs_changelist.c \ > ++ libzfs_config.c \ > ++ libzfs_crypto.c \ > ++ libzfs_dataset.c \ > ++ libzfs_diff.c \ > ++ libzfs_import.c \ > ++ libzfs_iter.c \ > ++ libzfs_mount.c \ > ++ libzfs_pool.c \ > ++ libzfs_sendrecv.c \ > ++ libzfs_share.c \ > ++ libzfs_share_nfs.c \ > ++ libzfs_status.c \ > ++ libzfs_util.c \ > ++ os/freebsd/libzfs_share_nfs.c \ > ++ os/freebsd/libzfs_share_smb.c > + > +# FreeBSD > +USER_C +=3D \ > + libzfs_compat.c \ > + libzfs_zmount.c > + > - # libshare > - USER_C +=3D \ > - libshare.c \ > - nfs.c \ > - os/freebsd/nfs.c \ > - os/freebsd/smb.c > -=20 > +KERNEL_C =3D \ > + cityhash.c \ > + zfeature_common.c \ > + zfs_comutil.c \ > + zfs_deleg.c \ > + zfs_fletcher.c \ > + zfs_fletcher_superscalar.c \ > + zfs_fletcher_superscalar4.c \ > + zfs_namecheck.c \ > + zfs_prop.c \ > + zfs_valstr.c \ > + zpool_prop.c \ > + zprop_common.c > + > +ARCH_C =3D > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > +ARCH_C +=3D zfs_fletcher_intel.c \ > + zfs_fletcher_sse.c=20 > +CFLAGS +=3D -DHAVE_SSE2 > +.endif > +.if ${MACHINE_ARCH} =3D=3D "amd64" > +ARCH_C +=3D zfs_fletcher_avx512.c > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F > +.endif > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > +.endif > + > +SRCS=3D $(USER_C) $(KERNEL_C) $(ARCH_C) > + > +WARNS?=3D 2 > +SHLIB_MAJOR=3D 4 > +CSTD=3D c99 > +CFLAGS+=3D -DIN_BASE > +CFLAGS+=3D -I${ZFSTOP}/include > +CFLAGS+=3D -I${ZFSTOP}/include/os/freebsd > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include/os/freebsd > +CFLAGS+=3D -I${ZFSTOP}/lib/libshare > +CFLAGS+=3D -I${ZFSTOP}/lib/libzpool/include > +CFLAGS+=3D -I${SRCTOP}/sys/contrib/ck/include > +CFLAGS+=3D -I${SRCTOP}/sys > +CFLAGS+=3D -I${SRCTOP}/cddl/compat/opensolaris/include > +CFLAGS+=3D -I${ZFSTOP}/module/icp/include > +CFLAGS+=3D -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h > +CFLAGS+=3D -DHAVE_ISSETUGID > +CFLAGS+=3D -DHAVE_EXECVPE > +CFLAGS+=3D -include ${SRCTOP}/sys/modules/zfs/zfs_config.h > +CFLAGS+=3D -DSYSCONFDIR=3D\"/etc\" > +CFLAGS+=3D -DPKGDATADIR=3D\"/usr/share/zfs\" > +CFLAGS+=3D -DZFSEXECDIR=3D\"${LIBEXECDIR}/zfs\" > + > +.include > diff --cc cddl/lib/libzpool/Makefile > index ade864790f1c,000000000000..74a5f6ccb438 > mode 100644,000000..100644 > --- a/cddl/lib/libzpool/Makefile > +++ b/cddl/lib/libzpool/Makefile > @@@ -1,343 -1,0 +1,342 @@@ > +.PATH: ${ZFSTOP}/lib/libzpool > + > +# ZFS_COMMON_SRCS > +.PATH: ${ZFSTOP}/module/zfs > +.PATH: ${ZFSTOP}/module/zcommon > +.PATH: ${ZFSTOP}/module/unicode > +# LUA_SRCS > +.PATH: ${ZFSTOP}/module/lua > +# ZSTD_SRCS > +.PATH: ${ZFSTOP}/module/zstd > +.PATH: ${ZFSTOP}/module/zstd/lib/common > +.PATH: ${ZFSTOP}/module/zstd/lib/compress > +.PATH: ${ZFSTOP}/module/zstd/lib/decompress > + > +.if > exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARC= H}/opensolaris_atomic.S) > +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_AR= CH} > +ATOMIC_SRCS=3D opensolaris_atomic.S +ACFLAGS+=3D -Wa,--noexecstack > +.else > +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern > +ATOMIC_SRCS=3D opensolaris_atomic.c > +.endif > + > +.if ${MACHINE_ARCH} =3D=3D "powerpc" > +# Don't waste GOT entries on small data. > +PICFLAG=3D -fPIC > +.endif > + > +PACKAGE=3D zfs > +LIB_PACKAGE=3D > + > +LIB=3D zpool > + > +USER_C =3D \ > + arc_os.c \ > + kernel.c \ > + util.c \ > + zfs_debug.c > + > +.PATH: ${ZFSTOP}/module/os/linux/zfs > + > +KERNEL_C =3D \ > + simd_stat.c \ > + zfeature_common.c \ > + zfs_comutil.c \ > + zfs_deleg.c \ > + zfs_fletcher.c \ > + zfs_fletcher_superscalar.c \ > + zfs_fletcher_superscalar4.c \ > + zfs_namecheck.c \ > + zfs_prop.c \ > + zfs_zstd.c \ > + zpool_prop.c \ > + zprop_common.c \ > + abd.c \ > + abd_os.c \ > + aggsum.c \ > + arc.c \ > + blake3_zfs.c \ > + blkptr.c \ > + bplist.c \ > + bpobj.c \ > + bptree.c \ > + bqueue.c \ > + btree.c \ > + brt.c \ > + cityhash.c \ > + dbuf.c \ > + dbuf_stats.c \ > + ddt.c \ > + ddt_log.c \ > + ddt_stats.c \ > + ddt_zap.c \ > + dmu.c \ > + dmu_diff.c \ > + dmu_direct.c \ > + dmu_object.c \ > + dmu_objset.c \ > + dmu_recv.c \ > + dmu_redact.c \ > + dmu_send.c \ > + dmu_traverse.c \ > + dmu_tx.c \ > + dmu_zfetch.c \ > + dnode.c \ > + dnode_sync.c \ > + dsl_bookmark.c \ > + dsl_dataset.c \ > + dsl_deadlist.c \ > + dsl_deleg.c \ > + dsl_dir.c \ > + dsl_crypt.c \ > + dsl_pool.c \ > + dsl_prop.c \ > + dsl_scan.c \ > + dsl_synctask.c \ > + dsl_destroy.c \ > + dsl_userhold.c \ > + edonr_zfs.c \ > + entropy_common.c \ > + error_private.c \ > + fm.c \ > + fse_compress.c \ > + fse_decompress.c \ > + gzip.c \ > + hist.c \ > + hkdf.c \ > + huf_compress.c \ > + huf_decompress.c \ > + lzjb.c \ > + lz4.c \ > + lz4_zfs.c \ > + metaslab.c \ > + mmp.c \ > + multilist.c \ > + objlist.c \ > + pathname.c \ > + pool.c \ > + range_tree.c \ > + refcount.c \ > + rrwlock.c \ > + sa.c \ > + sha2_zfs.c \ > + skein_zfs.c \ > + spa.c \ > + spa_checkpoint.c \ > + spa_config.c \ > + spa_errlog.c \ > + spa_history.c \ > + spa_log_spacemap.c \ > + spa_misc.c \ > + spa_stats.c \ > + space_map.c \ > + space_reftree.c \ > + txg.c \ > ++ u8_textprep.c \ > + trace.c \ > + uberblock.c \ > + unique.c \ > + vdev.c \ > + vdev_draid.c \ > + vdev_draid_rand.c \ > + vdev_file.c \ > + vdev_indirect_births.c \ > + vdev_indirect.c \ > + vdev_indirect_mapping.c \ > + vdev_initialize.c \ > + vdev_label.c \ > + vdev_label_os.c \ > + vdev_mirror.c \ > + vdev_missing.c \ > + vdev_queue.c \ > + vdev_raidz.c \ > + vdev_raidz_math_aarch64_neon.c \ > + vdev_raidz_math_aarch64_neonx2.c \ > + vdev_raidz_math_avx2.c \ > + vdev_raidz_math_avx512bw.c \ > + vdev_raidz_math_avx512f.c \ > + vdev_raidz_math.c \ > + vdev_raidz_math_scalar.c \ > + vdev_rebuild.c \ > + vdev_removal.c \ > + vdev_root.c \ > + vdev_trim.c \ > - xxhash.c \ > + zap.c \ > + zap_leaf.c \ > + zap_micro.c \ > + zcp.c \ > + zcp_get.c \ > + zcp_global.c \ > + zcp_iter.c \ > + zcp_set.c \ > + zcp_synctask.c \ > + zfeature.c \ > + zfs_byteswap.c \ > + zfs_chksum.c \ > + zfs_crrd.c \ > + zfs_debug_common.c \ > + zfs_fm.c \ > + zfs_fuid.c \ > + zfs_impl.c \ > + zfs_sa.c \ > + zfs_znode.c \ > + zfs_racct.c \ > + zfs_ratelimit.c \ > + zfs_rlock.c \ > + zil.c \ > + zio.c \ > + zio_checksum.c \ > + zio_compress.c \ > + zio_crypt.c \ > + zio_inject.c \ > + zle.c \ > + zrlock.c \ > + zstd_common.c \ > + zstd_compress.c \ > + zstd_compress_literals.c \ > + zstd_compress_sequences.c \ > + zstd_compress_superblock.c \ > + zstd_ddict.c \ > + zstd_decompress.c \ > + zstd_decompress_block.c \ > + zstd_double_fast.c \ > + zstd_fast.c \ > + zstd_lazy.c \ > + zstd_ldm.c \ > + zstd_opt.c \ > ++ zstd_preSplit.c \ > + zthr.c > + > +ARCH_C =3D > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > +ARCH_C +=3D vdev_raidz_math_sse2.c \ > + vdev_raidz_math_ssse3.c \ > + zfs_fletcher_intel.c \ > + zfs_fletcher_sse.c=20 > +CFLAGS +=3D -DHAVE_SSE2 -DHAVE_SSE3 > +.endif > +.if ${MACHINE_ARCH} =3D=3D "amd64" > +ARCH_C +=3D zfs_fletcher_avx512.c > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ > + -DHAVE_AVX512BW > +.endif > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > +.endif > + > +LUA_C =3D \ > + lapi.c \ > + lauxlib.c \ > + lbaselib.c \ > + lcode.c \ > + lcompat.c \ > + lcorolib.c \ > + lctype.c \ > + ldebug.c \ > + ldo.c \ > + lfunc.c \ > + lgc.c \ > + llex.c \ > + lmem.c \ > + lobject.c \ > + lopcodes.c \ > + lparser.c \ > + lstate.c \ > + lstring.c \ > + lstrlib.c \ > + ltable.c \ > + ltablib.c \ > + ltm.c \ > + lvm.c \ > + lzio.c > + > - UNICODE_C =3D u8_textprep.c > -=20 > - SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C} > ++SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${ARCH_C} > + > *** 15577 LINES SKIPPED *** >=20 buildworld failure after commit, immintrin.h not found error: [...] In file included from /usr/src/sys/contrib/openzfs/module/zstd/lib/common/f= se.h:230: /usr/src/sys/contrib/openzfs/module/zstd/lib/common/bitstream.h:38:14: fata= l error: 'immintrin.h' file not found 38 | # include /* support f= or bextr (experimental)/bzhi */ Kind regards, oh --=20 A FreeBSD user --Sig_/3BPityYhB1371w5jWWcZyuK Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCabZa6gAKCRCxzvs8Oqok rzKfAQCG7COIZMN3gpojL4E4bvFXmjvPmXSNf6lHLXFC/mXAzQD/V8O0yKw7k7nG qQpCqROgsw8EyZLGiBs6CTdki8I7Dw8= =F3Wi -----END PGP SIGNATURE----- --Sig_/3BPityYhB1371w5jWWcZyuK-- From nobody Sun Mar 15 07:23:53 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYV8q440Wz6VHbF; Sun, 15 Mar 2026 07:24:27 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp6.goneo.de (smtp6.goneo.de [85.220.129.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYV8p33SQz3K6T; Sun, 15 Mar 2026 07:24:26 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=walstatt-de.de header.s=DKIM001 header.b="nj1nitW/"; dmarc=none; spf=pass (mx1.freebsd.org: domain of freebsd@walstatt-de.de designates 85.220.129.31 as permitted sender) smtp.mailfrom=freebsd@walstatt-de.de Received: from hub1.goneo.de (hub1.goneo.de [IPv6:2001:1640:5::8:52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp6.goneo.de (Postfix) with ESMTPS id 852C024093E; Sun, 15 Mar 2026 08:24:24 +0100 (CET) Received: from hub1.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub1.goneo.de (Postfix) with ESMTPS id 6DAEF240102; Sun, 15 Mar 2026 08:24:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1773559461; 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=qAZVkhCpzv1AEvwesh/hNtNIZjTKgjSRpUSJ/lkXvLo=; b=nj1nitW/rs0LaiUf7kgRK3bTm71L4gGNMSL0dBcRj569f5kHzp15MHidYhY1PI228wA82b 3PcAQ/WymwLYMtTxnN6K6OCEuujzjkWG3taUDCR28Sy1VGxceLLNNbLMPqg+NO4anMWHMn 4n/vc3Xt4bEnKULTH/rbl5wzAPATyI50uAQ2RuzrzYcNcEvktoIv6YzPSysycm65UVy73S p8YErIgexaLWyeQpmaOaupKvgTMLeVcnP9rRA/in8IlIVxagkbfeWVKDs3Fis3bUQHv+5H EzYkYGY/et30GgWyBUru6ncNewoK1bEOpPOsJ08kRdduJoFXexEdX2C6texEJQ== Received: from thor.sb211.local (dynamic-2a02-3100-2218-fc02-dded-68cf-e902-4bad.310.pool.telefonica.de [IPv6:2a02:3100:2218:fc02:dded:68cf:e902:4bad]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub1.goneo.de (Postfix) with ESMTPSA id 168052400A4; Sun, 15 Mar 2026 08:24:21 +0100 (CET) Date: Sun, 15 Mar 2026 08:23:53 +0100 From: A FreeBSD User To: Martin Matuska Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 8a62a2a5659d - main - zfs: merge openzfs/zfs@f8e5af53e Message-ID: <20260315082420.01da7a33@thor.sb211.local> In-Reply-To: <20260315080826.6a07e638@thor.sb211.local> References: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> <20260315080826.6a07e638@thor.sb211.local> X-Mailer: Claws Mail 3.21.0 (GTK+ 2.24.33; amd64-portbld-freebsd16.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: multipart/signed; boundary="Sig_/u=PR.TkrjpEx8p4V+ljeX27"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Rspamd-UID: 485e4a X-Rspamd-UID: b131af X-Spamd-Result: default: False [-5.69 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.989]; R_DKIM_ALLOW(-0.20)[walstatt-de.de:s=DKIM001]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_SPF_ALLOW(-0.20)[+ip4:85.220.129.0/25]; RCVD_IN_DNSWL_LOW(-0.10)[85.220.129.31:from]; ASN(0.00)[asn:25394, ipnet:85.220.128.0/17, country:DE]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; DMARC_NA(0.00)[walstatt-de.de]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[walstatt-de.de:+] X-Rspamd-Queue-Id: 4fYV8p33SQz3K6T X-Spamd-Bar: ----- --Sig_/u=PR.TkrjpEx8p4V+ljeX27 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Tage des Herren Sun, 15 Mar 2026 08:07:59 +0100 A FreeBSD User schrieb: > Am Tage des Herren Sat, 14 Mar 2026 13:26:23 +0000 > Martin Matuska schrieb: >=20 > > The branch main has been updated by mm: > >=20 > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D8a62a2a5659d1839d8799b42= 74c04469d7f17c78 > >=20 > > commit 8a62a2a5659d1839d8799b4274c04469d7f17c78 > > Merge: f91464171d61 f8e5af53e92f > > Author: Martin Matuska > > AuthorDate: 2026-03-14 12:14:56 +0000 > > Commit: Martin Matuska > > CommitDate: 2026-03-14 12:14:56 +0000 > >=20 > > zfs: merge openzfs/zfs@f8e5af53e > > =20 > > Notable upstream pull request merges: > > #17358 4975430cf Add vdev property to disable vdev scheduler > > #18031 c77f17b75 Add snapshots_changed_nsecs dataset property > > #18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly cr= eated > > datasets > > #18089 -multiple Zstd: Update bundled library to version 1.5.7 > > #18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the > > snapshot > > #18093 -multiple L2ARC: Rework write throttling with DWPD rate lim= iting > > and parallel writes > > #18095 2dbd6af5e Rename several printf attributes declarations to > > __printf__ > > #18096 8605bdfdd FreeBSD: unbreak compilation on i386 > > #18105 794f1587d When receiving a stream with the large block flag, > > activate feature > > #18115 765929cb4 DDT: Add locking for table ZAP destruction > > #18118 09e4e01e9 Fix history logging for `zpool create -t` > > #18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF tar= gets > > #18131 3fffe4e70 Fix --enable-invariants on FreeBSD > > #18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code > > #18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS > > #18138 cdf89f413 Flush RRD only when TXGs contain data > > #18139 a157ef62a Make sure we can still write data to txg > > #18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD d= ouble > > free panic > > #18144 4f180e095 Fix activating large_microzap on receive > > #18146 35b2d3970 Lock db_mtx around arc_release() in couple places > > #18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition > > #18160 21bbe7cb6 Improve caching for dbuf prefetches > > #18177 -multiple Multihost Improvements > > #18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks > > #18180 aa29455dd Restrict cloning with different properties > > #18184 040ba7a7c libzfs: improve error message for zpool create wi= th > > ENXIO > > #18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after > > zfs_setattr_dir() > > #18198 cc184fe98 Fix `send:raw` permission for send `-w -I` > > #18208 ba970eb20 Cleanup allocation class selection > > #18212 0f9564e85 Simplify dnode_level_is_l2cacheable() > > #18214 370570890 Remove parent ZIO from dbuf_prefetch() > > #18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC > > #18222 d06a1d9ac Fix available space accounting for special/dedup > > #18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document > > source files > > #18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functio= ns > > #18230 -multiple Fix zdb --key crash for unencrypted datasets, and > > teach tests to understand this better > > #18233 -multiple icp: add SHA-512 implementation using Intel SHA512 > > extension > > #18245 991fc56fa Introduce dedupused/dedupsaved pool properties > > #18251 6a717f31e Improve misleading error messages for > > ZPOOL_STATUS_CORRUPT_POOL > > #18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX5= 12VL > > #18255 6495dafd5 range_tree: use zfs_panic_recover() for > > partial-overlap remov > > #18256 3408332d7 zhack: Fix importing large allocation profiles on > > small pools > > #18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild= () > > #18263 f8e5af53e Fix redundant declaration of dsl_pool_t > > =20 > > Obtained from: OpenZFS > > OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920 > >=20 > > cddl/lib/libzfs/Makefile | 36 +- > > cddl/lib/libzpool/Makefile | 7 +- > > stand/libsa/zfs/Makefile.inc | 6 +- > > stand/libsa/zfs/xxhash.c | 24 + > > sys/conf/files | 7 +- > > .../.github/workflows/scripts/qemu-1-setup.sh | 110 +- > > .../.github/workflows/scripts/qemu-2-start.sh | 53 +- > > .../.github/workflows/scripts/qemu-3-deps-vm.sh | 50 +- > > .../.github/workflows/scripts/qemu-5-setup.sh | 22 +- > > .../workflows/scripts/qemu-6-lustre-tests-vm.sh | 51 + > > .../.github/workflows/scripts/qemu-6-tests.sh | 132 +- > > .../.github/workflows/scripts/qemu-8-summary.sh | 32 + > > .../.github/workflows/scripts/qemu-test-repo-vm.sh | 27 +- > > .../.github/workflows/zfs-qemu-packages.yml | 15 +- > > sys/contrib/openzfs/.github/workflows/zfs-qemu.yml | 16 +- > > sys/contrib/openzfs/.mailmap | 10 + > > sys/contrib/openzfs/AUTHORS | 14 + > > sys/contrib/openzfs/META | 2 +- > > sys/contrib/openzfs/Makefile.am | 2 + > > sys/contrib/openzfs/autogen.sh | 1 + > > sys/contrib/openzfs/cmd/Makefile.am | 5 +- > > sys/contrib/openzfs/cmd/raidz_test/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zdb/Makefile.am | 5 +- > > sys/contrib/openzfs/cmd/zdb/zdb.c | 53 +- > > sys/contrib/openzfs/cmd/zed/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am | 1 + > > .../zed/zed.d/history_event-zfs-list-cacher.sh.in | 1 + > > sys/contrib/openzfs/cmd/zfs/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zfs/zfs_main.c | 89 +- > > sys/contrib/openzfs/cmd/zhack.c | 166 +- > > sys/contrib/openzfs/cmd/zinject/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zpool/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zpool/zpool_main.c | 16 +- > > sys/contrib/openzfs/cmd/zpool/zpool_util.c | 26 - > > sys/contrib/openzfs/cmd/zpool/zpool_util.h | 2 - > > sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/zstream/Makefile.am | 1 + > > sys/contrib/openzfs/cmd/ztest.c | 7 +- > > sys/contrib/openzfs/config/CppCheck.am | 1 + > > sys/contrib/openzfs/config/Rules.am | 1 + > > sys/contrib/openzfs/config/Shellcheck.am | 1 + > > sys/contrib/openzfs/config/Substfiles.am | 1 + > > sys/contrib/openzfs/config/always-arch.m4 | 1 + > > .../openzfs/config/always-compiler-options.m4 | 1 + > > sys/contrib/openzfs/config/always-cppcheck.m4 | 1 + > > sys/contrib/openzfs/config/always-parallel.m4 | 1 + > > sys/contrib/openzfs/config/always-python.m4 | 1 + > > sys/contrib/openzfs/config/always-pyzfs.m4 | 1 + > > sys/contrib/openzfs/config/always-sed.m4 | 1 + > > sys/contrib/openzfs/config/always-shellcheck.m4 | 1 + > > sys/contrib/openzfs/config/always-system.m4 | 1 + > > sys/contrib/openzfs/config/ax_compare_version.m4 | 1 + > > sys/contrib/openzfs/config/ax_count_cpus.m4 | 1 + > > sys/contrib/openzfs/config/ax_python_devel.m4 | 1 + > > sys/contrib/openzfs/config/ax_restore_flags.m4 | 1 + > > sys/contrib/openzfs/config/ax_save_flags.m4 | 1 + > > sys/contrib/openzfs/config/deb.am | 1 + > > sys/contrib/openzfs/config/find_system_library.m4 | 1 + > > sys/contrib/openzfs/config/gettext.m4 | 1 + > > sys/contrib/openzfs/config/host-cpu-c-abi.m4 | 1 + > > sys/contrib/openzfs/config/iconv.m4 | 1 + > > .../openzfs/config/kernel-access-ok-type.m4 | 1 + > > sys/contrib/openzfs/config/kernel-acl.m4 | 32 + > > sys/contrib/openzfs/config/kernel-add-disk.m4 | 1 + > > sys/contrib/openzfs/config/kernel-assign_str.m4 | 1 + > > sys/contrib/openzfs/config/kernel-automount.m4 | 1 + > > sys/contrib/openzfs/config/kernel-bio.m4 | 1 + > > sys/contrib/openzfs/config/kernel-bio_max_segs.m4 | 1 + > > sys/contrib/openzfs/config/kernel-blk-queue.m4 | 27 + > > sys/contrib/openzfs/config/kernel-blkdev.m4 | 1 + > > .../config/kernel-block-device-operations.m4 | 1 + > > .../openzfs/config/kernel-commit-metadata.m4 | 1 + > > .../openzfs/config/kernel-config-defined.m4 | 1 + > > .../config/kernel-copy-from-user-inatomic.m4 | 1 + > > .../openzfs/config/kernel-cpu_has_feature.m4 | 1 + > > .../openzfs/config/kernel-declare-event-class.m4 | 1 + > > .../openzfs/config/kernel-dentry-operations.m4 | 1 + > > .../openzfs/config/kernel-discard-granularity.m4 | 1 + > > sys/contrib/openzfs/config/kernel-drop-inode.m4 | 1 + > > sys/contrib/openzfs/config/kernel-file.m4 | 1 + > > sys/contrib/openzfs/config/kernel-filelock.m4 | 23 + > > .../openzfs/config/kernel-filemap-splice-read.m4 | 1 + > > .../openzfs/config/kernel-flush_dcache_page.m4 | 1 + > > sys/contrib/openzfs/config/kernel-fmode-t.m4 | 1 + > > .../openzfs/config/kernel-follow-down-one.m4 | 1 + > > sys/contrib/openzfs/config/kernel-fpu.m4 | 1 + > > sys/contrib/openzfs/config/kernel-free-inode.m4 | 1 + > > sys/contrib/openzfs/config/kernel-fs-context.m4 | 33 + > > sys/contrib/openzfs/config/kernel-fst-mount.m4 | 30 - > > sys/contrib/openzfs/config/kernel-fsync-bdev.m4 | 1 + > > .../openzfs/config/kernel-generic_fadvise.m4 | 1 + > > .../openzfs/config/kernel-generic_fillattr.m4 | 1 + > > .../openzfs/config/kernel-generic_io_acct.m4 | 1 + > > sys/contrib/openzfs/config/kernel-genhd-flags.m4 | 1 + > > sys/contrib/openzfs/config/kernel-get-disk-ro.m4 | 1 + > > sys/contrib/openzfs/config/kernel-iattr-vfsid.m4 | 1 + > > sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4 | 1 + > > sys/contrib/openzfs/config/kernel-inode-create.m4 | 1 + > > sys/contrib/openzfs/config/kernel-inode-getattr.m4 | 1 + > > sys/contrib/openzfs/config/kernel-inode-lookup.m4 | 1 + > > .../openzfs/config/kernel-inode-permission.m4 | 1 + > > sys/contrib/openzfs/config/kernel-inode-setattr.m4 | 1 + > > sys/contrib/openzfs/config/kernel-inode-state.m4 | 24 + > > sys/contrib/openzfs/config/kernel-inode-times.m4 | 1 + > > .../openzfs/config/kernel-insert-inode-locked.m4 | 1 + > > .../openzfs/config/kernel-is_owner_or_cap.m4 | 1 + > > sys/contrib/openzfs/config/kernel-kasan-enabled.m4 | 1 + > > .../openzfs/config/kernel-kmap-atomic-args.m4 | 1 + > > .../openzfs/config/kernel-kmap-local-page.m4 | 1 + > > sys/contrib/openzfs/config/kernel-kmem.m4 | 1 + > > sys/contrib/openzfs/config/kernel-kthread.m4 | 1 + > > sys/contrib/openzfs/config/kernel-kuid-helpers.m4 | 1 + > > sys/contrib/openzfs/config/kernel-kuidgid.m4 | 1 + > > .../openzfs/config/kernel-make-request-fn.m4 | 1 + > > sys/contrib/openzfs/config/kernel-misc-minor.m4 | 1 + > > sys/contrib/openzfs/config/kernel-mkdir.m4 | 1 + > > sys/contrib/openzfs/config/kernel-mknod.m4 | 1 + > > sys/contrib/openzfs/config/kernel-mm-page-flags.m4 | 28 + > > sys/contrib/openzfs/config/kernel-mm-pagemap.m4 | 1 + > > sys/contrib/openzfs/config/kernel-namespace.m4 | 1 + > > sys/contrib/openzfs/config/kernel-objtool.m4 | 1 + > > .../config/kernel-pagemap-folio_wait_bit.m4 | 1 + > > .../config/kernel-pagemap-readahead-page.m4 | 1 + > > sys/contrib/openzfs/config/kernel-pde-data.m4 | 1 + > > sys/contrib/openzfs/config/kernel-percpu.m4 | 1 + > > .../openzfs/config/kernel-pin-user-pages.m4 | 1 + > > .../openzfs/config/kernel-proc-operations.m4 | 1 + > > sys/contrib/openzfs/config/kernel-reclaim_state.m4 | 1 + > > .../openzfs/config/kernel-register_sysctl_table.m4 | 1 + > > sys/contrib/openzfs/config/kernel-rename.m4 | 1 + > > .../openzfs/config/kernel-revalidate-disk-size.m4 | 1 + > > sys/contrib/openzfs/config/kernel-sb-dying.m4 | 1 + > > sys/contrib/openzfs/config/kernel-sb-wb-err.m4 | 1 + > > sys/contrib/openzfs/config/kernel-sched.m4 | 1 + > > .../openzfs/config/kernel-security-inode-init.m4 | 1 + > > sys/contrib/openzfs/config/kernel-set-nlink.m4 | 1 + > > .../openzfs/config/kernel-setattr-prepare.m4 | 1 + > > sys/contrib/openzfs/config/kernel-sget-args.m4 | 1 + > > sys/contrib/openzfs/config/kernel-show-options.m4 | 1 + > > sys/contrib/openzfs/config/kernel-shrink.m4 | 1 + > > sys/contrib/openzfs/config/kernel-siginfo.m4 | 1 + > > sys/contrib/openzfs/config/kernel-stdarg.m4 | 1 + > > sys/contrib/openzfs/config/kernel-strlcpy.m4 | 1 + > > sys/contrib/openzfs/config/kernel-symlink.m4 | 1 + > > sys/contrib/openzfs/config/kernel-sysfs.m4 | 1 + > > sys/contrib/openzfs/config/kernel-timer.m4 | 1 + > > sys/contrib/openzfs/config/kernel-tmpfile.m4 | 1 + > > .../openzfs/config/kernel-totalhigh_pages.m4 | 1 + > > .../openzfs/config/kernel-totalram-pages-func.m4 | 1 + > > .../openzfs/config/kernel-truncate-setsize.m4 | 1 + > > sys/contrib/openzfs/config/kernel-types.m4 | 1 + > > sys/contrib/openzfs/config/kernel-usleep_range.m4 | 1 + > > .../openzfs/config/kernel-vfs-file_range.m4 | 1 + > > .../config/kernel-vfs-filemap_dirty_folio.m4 | 1 + > > sys/contrib/openzfs/config/kernel-vfs-fsync.m4 | 1 + > > sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 | 1 + > > .../openzfs/config/kernel-vfs-migrate_folio.m4 | 1 + > > .../openzfs/config/kernel-vfs-migratepage.m4 | 1 + > > .../openzfs/config/kernel-vfs-read_folio.m4 | 1 + > > sys/contrib/openzfs/config/kernel-vfs-readpages.m4 | 1 + > > .../openzfs/config/kernel-vfs-set_page_dirty.m4 | 1 + > > sys/contrib/openzfs/config/kernel-vfs-writepage.m4 | 1 + > > sys/contrib/openzfs/config/kernel-writeback.m4 | 1 + > > sys/contrib/openzfs/config/kernel-xattr-handler.m4 | 1 + > > sys/contrib/openzfs/config/kernel-zero_page.m4 | 1 + > > sys/contrib/openzfs/config/kernel.m4 | 9 +- > > sys/contrib/openzfs/config/lib-ld.m4 | 1 + > > sys/contrib/openzfs/config/lib-link.m4 | 1 + > > sys/contrib/openzfs/config/lib-prefix.m4 | 1 + > > sys/contrib/openzfs/config/mount-helper.m4 | 1 + > > sys/contrib/openzfs/config/nls.m4 | 1 + > > sys/contrib/openzfs/config/pkg.m4 | 1 + > > sys/contrib/openzfs/config/po.m4 | 1 + > > sys/contrib/openzfs/config/progtest.m4 | 1 + > > sys/contrib/openzfs/config/rpm.am | 1 + > > sys/contrib/openzfs/config/tgz.am | 1 + > > sys/contrib/openzfs/config/toolchain-simd.m4 | 23 + > > sys/contrib/openzfs/config/user-aio.h.m4 | 1 + > > sys/contrib/openzfs/config/user-backtrace.m4 | 1 + > > sys/contrib/openzfs/config/user-clock_gettime.m4 | 1 + > > sys/contrib/openzfs/config/user-dracut.m4 | 1 + > > sys/contrib/openzfs/config/user-gettext.m4 | 1 + > > sys/contrib/openzfs/config/user-largefile.m4 | 1 + > > sys/contrib/openzfs/config/user-libaio.m4 | 1 + > > sys/contrib/openzfs/config/user-libatomic.m4 | 1 + > > sys/contrib/openzfs/config/user-libblkid.m4 | 1 + > > sys/contrib/openzfs/config/user-libcrypto.m4 | 1 + > > sys/contrib/openzfs/config/user-libexec.m4 | 1 + > > sys/contrib/openzfs/config/user-libfetch.m4 | 1 + > > sys/contrib/openzfs/config/user-libtirpc.m4 | 1 + > > sys/contrib/openzfs/config/user-libudev.m4 | 1 + > > sys/contrib/openzfs/config/user-libunwind.m4 | 1 + > > sys/contrib/openzfs/config/user-libuuid.m4 | 1 + > > sys/contrib/openzfs/config/user-makedev.m4 | 1 + > > sys/contrib/openzfs/config/user-pam.m4 | 1 + > > sys/contrib/openzfs/config/user-runstatedir.m4 | 1 + > > sys/contrib/openzfs/config/user-statx.m4 | 1 + > > sys/contrib/openzfs/config/user-systemd.m4 | 1 + > > sys/contrib/openzfs/config/user-sysvinit.m4 | 1 + > > sys/contrib/openzfs/config/user-udev.m4 | 1 + > > sys/contrib/openzfs/config/user-zlib.m4 | 1 + > > sys/contrib/openzfs/config/user.m4 | 1 + > > sys/contrib/openzfs/config/zfs-build.m4 | 3 +- > > sys/contrib/openzfs/config/zfs-meta.m4 | 1 + > > sys/contrib/openzfs/contrib/Makefile.am | 1 + > > .../openzfs/contrib/bash_completion.d/Makefile.am | 1 + > > sys/contrib/openzfs/contrib/bpftrace/Makefile.am | 1 + > > sys/contrib/openzfs/contrib/debian/Makefile.am | 1 + > > .../contrib/debian/openzfs-libpam-zfs.install | 1 + > > .../openzfs/contrib/dracut/90zfs/mount-zfs.sh.in | 2 +- > > sys/contrib/openzfs/contrib/dracut/Makefile.am | 1 + > > sys/contrib/openzfs/contrib/initramfs/Makefile.am | 1 + > > .../openzfs/contrib/pam_zfs_key/Makefile.am | 1 + > > .../openzfs/contrib/pam_zfs_key/pam_zfs_key.c | 278 +- > > sys/contrib/openzfs/contrib/pyzfs/Makefile.am | 1 + > > .../openzfs/contrib/pyzfs/docs/source/index.rst | 3 +- > > .../openzfs/contrib/pyzfs/libzfs_core/__init__.py | 10 - > > .../pyzfs/libzfs_core/_error_translation.py | 58 - > > .../contrib/pyzfs/libzfs_core/_libzfs_core.py | 350 +- > > .../pyzfs/libzfs_core/bindings/libzfs_core.py | 4 - > > .../pyzfs/libzfs_core/test/test_libzfs_core.py | 337 - > > sys/contrib/openzfs/contrib/zcp/Makefile.am | 1 + > > sys/contrib/openzfs/copy-builtin | 5 +- > > sys/contrib/openzfs/etc/Makefile.am | 1 + > > sys/contrib/openzfs/include/Makefile.am | 1 + > > sys/contrib/openzfs/include/libzfs.h | 10 +- > > sys/contrib/openzfs/include/os/freebsd/Makefile.am | 1 + > > .../openzfs/include/os/freebsd/spl/sys/mod.h | 3 + > > sys/contrib/openzfs/include/os/linux/Makefile.am | 1 + > > .../include/os/linux/kernel/linux/dcache_compat.h | 19 +- > > .../include/os/linux/kernel/linux/simd_x86.h | 14 + > > .../include/os/linux/kernel/linux/vfs_compat.h | 8 + > > .../include/os/linux/kernel/linux/xattr_compat.h | 17 + > > .../openzfs/include/os/linux/spl/sys/kmem.h | 5 +- > > sys/contrib/openzfs/include/sys/arc.h | 2 - > > sys/contrib/openzfs/include/sys/arc_impl.h | 38 + > > sys/contrib/openzfs/include/sys/btree.h | 9 +- > > sys/contrib/openzfs/include/sys/ddt.h | 5 + > > sys/contrib/openzfs/include/sys/dmu.h | 1 + > > sys/contrib/openzfs/include/sys/dmu_objset.h | 1 + > > sys/contrib/openzfs/include/sys/fs/zfs.h | 24 +- > > sys/contrib/openzfs/include/sys/metaslab.h | 4 +- > > sys/contrib/openzfs/include/sys/metaslab_impl.h | 8 +- > > sys/contrib/openzfs/include/sys/mmp.h | 5 + > > sys/contrib/openzfs/include/sys/spa.h | 1 + > > sys/contrib/openzfs/include/sys/spa_impl.h | 4 + > > sys/contrib/openzfs/include/sys/uberblock_impl.h | 22 +- > > sys/contrib/openzfs/include/sys/vdev.h | 2 + > > sys/contrib/openzfs/include/sys/vdev_impl.h | 2 + > > sys/contrib/openzfs/include/sys/vdev_rebuild.h | 2 +- > > sys/contrib/openzfs/lib/Makefile.am | 31 +- > > sys/contrib/openzfs/lib/libavl/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libbtree/Makefile.am | 6 + > > sys/contrib/openzfs/lib/libefi/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libicp/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libnvpair/Makefile.am | 1 + > > sys/contrib/openzfs/lib/librange_tree/Makefile.am | 9 + > > sys/contrib/openzfs/lib/libshare/Makefile.am | 27 - > > sys/contrib/openzfs/lib/libshare/libshare_impl.h | 48 - > > sys/contrib/openzfs/lib/libshare/nfs.h | 38 - > > sys/contrib/openzfs/lib/libspl/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libspl/include/Makefile.am | 2 +- > > sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 18 +- > > .../openzfs/lib/libspl/include/sys/sysmacros.h | 29 +- > > sys/contrib/openzfs/lib/libunicode/Makefile.am | 6 - > > sys/contrib/openzfs/lib/libzdb/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libzfs/Makefile.am | 18 +- > > sys/contrib/openzfs/lib/libzfs/libzfs.abi | 450 +- > > sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 13 + > > sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 3 +- > > sys/contrib/openzfs/lib/libzfs/libzfs_mount.c | 7 +- > > sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 16 +- > > .../{libshare/libshare.c =3D> libzfs/libzfs_share.c} | 3 +- > > .../include/libshare.h =3D> libzfs/libzfs_share.h} | 80 +- > > .../{libshare/nfs.c =3D> libzfs/libzfs_share_nfs.c} | 5 +- > > .../nfs.c =3D> libzfs/os/freebsd/libzfs_share_nfs.c} | 5 +- > > .../smb.c =3D> libzfs/os/freebsd/libzfs_share_smb.c} | 4 +- > > .../nfs.c =3D> libzfs/os/linux/libzfs_share_nfs.c} | 4 +- > > .../smb.c =3D> libzfs/os/linux/libzfs_share_smb.c} | 24 +- > > sys/contrib/openzfs/lib/libzfs_core/Makefile.am | 1 + > > .../openzfs/lib/libzfs_core/libzfs_core.abi | 11 +- > > sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libzpool/Makefile.am | 14 +- > > .../openzfs/lib/libzpool/include/Makefile.am | 1 + > > sys/contrib/openzfs/lib/libzpool/kernel.c | 28 - > > sys/contrib/openzfs/lib/libzstd/Makefile.am | 7 + > > sys/contrib/openzfs/lib/libzutil/Makefile.am | 1 + > > sys/contrib/openzfs/man/Makefile.am | 2 + > > sys/contrib/openzfs/man/man4/zfs.4 | 36 +- > > sys/contrib/openzfs/man/man7/vdevprops.7 | 17 + > > sys/contrib/openzfs/man/man7/zfsprops.7 | 9 + > > sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 14 + > > sys/contrib/openzfs/man/man7/zpoolprops.7 | 15 + > > sys/contrib/openzfs/man/man8/pam_zfs_key.8 | 221 + > > sys/contrib/openzfs/man/man8/zfs-clone.8 | 4 +- > > sys/contrib/openzfs/man/man8/zfs-create.8 | 2 +- > > sys/contrib/openzfs/man/man8/zfs-load-key.8 | 4 + > > sys/contrib/openzfs/man/man8/zfs-mount.8 | 6 + > > sys/contrib/openzfs/man/man8/zfs-rename.8 | 2 +- > > sys/contrib/openzfs/man/man8/zfs-rewrite.8 | 19 +- > > sys/contrib/openzfs/man/man8/zfs.8 | 1 + > > sys/contrib/openzfs/module/Kbuild.in | 26 +- > > sys/contrib/openzfs/module/Makefile.bsd | 13 +- > > sys/contrib/openzfs/module/Makefile.in | 5 +- > > sys/contrib/openzfs/module/icp/algs/modes/gcm.c | 1 + > > .../openzfs/module/icp/algs/sha2/sha512_impl.c | 18 + > > .../icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S | 44 +- > > .../module/icp/asm-x86_64/modes/ghash-x86_64.S | 64 - > > .../module/icp/asm-x86_64/sha2/sha512-x86_64.S | 321 +- > > .../icp/include/modes/gcm_asm_rename_funcs.h} | 30 +- > > sys/contrib/openzfs/module/nvpair/nvpair.c | 4 +- > > .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 19 + > > .../openzfs/module/os/freebsd/zfs/vdev_geom.c | 3 + > > .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 25 +- > > .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 13 - > > .../openzfs/module/os/linux/spl/spl-atomic.c | 36 - > > .../openzfs/module/os/linux/spl/spl-generic.c | 258 - > > .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 8 +- > > sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 4 +- > > .../openzfs/module/os/linux/spl/spl-kstat.c | 3 - > > .../openzfs/module/os/linux/spl/spl-math-compat.c | 275 + > > .../openzfs/module/os/linux/spl/spl-trace.c | 2 - > > sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 16 + > > .../openzfs/module/os/linux/zfs/vdev_disk.c | 7 + > > .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 21 +- > > .../openzfs/module/os/linux/zfs/zpl_export.c | 87 +- > > sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 4 + > > .../openzfs/module/os/linux/zfs/zpl_inode.c | 26 + > > .../openzfs/module/os/linux/zfs/zpl_super.c | 63 + > > sys/contrib/openzfs/module/zcommon/simd_stat.c | 2 + > > sys/contrib/openzfs/module/zcommon/zfs_prop.c | 10 +- > > sys/contrib/openzfs/module/zcommon/zpool_prop.c | 17 + > > sys/contrib/openzfs/module/zfs/arc.c | 1347 ++-- > > sys/contrib/openzfs/module/zfs/btree.c | 17 +- > > sys/contrib/openzfs/module/zfs/dataset_kstats.c | 2 +- > > sys/contrib/openzfs/module/zfs/dbuf.c | 26 +- > > sys/contrib/openzfs/module/zfs/ddt.c | 95 +- > > sys/contrib/openzfs/module/zfs/ddt_log.c | 4 +- > > sys/contrib/openzfs/module/zfs/ddt_stats.c | 15 + > > sys/contrib/openzfs/module/zfs/dmu.c | 4 +- > > sys/contrib/openzfs/module/zfs/dmu_objset.c | 19 + > > sys/contrib/openzfs/module/zfs/dmu_recv.c | 46 +- > > sys/contrib/openzfs/module/zfs/dmu_tx.c | 7 +- > > sys/contrib/openzfs/module/zfs/dsl_dataset.c | 8 +- > > sys/contrib/openzfs/module/zfs/metaslab.c | 72 +- > > sys/contrib/openzfs/module/zfs/mmp.c | 158 +- > > sys/contrib/openzfs/module/zfs/range_tree.c | 22 +- > > sys/contrib/openzfs/module/zfs/sa.c | 15 +- > > sys/contrib/openzfs/module/zfs/spa.c | 791 ++- > > sys/contrib/openzfs/module/zfs/spa_log_spacemap.c | 5 +- > > sys/contrib/openzfs/module/zfs/spa_misc.c | 75 +- > > .../openzfs/module/{unicode =3D> zfs}/u8_textprep.c | 0 > > sys/contrib/openzfs/module/zfs/vdev.c | 18 +- > > sys/contrib/openzfs/module/zfs/vdev_file.c | 3 + > > sys/contrib/openzfs/module/zfs/vdev_label.c | 10 +- > > sys/contrib/openzfs/module/zfs/vdev_queue.c | 40 + > > sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 20 +- > > sys/contrib/openzfs/module/zfs/zcp_get.c | 8 + > > sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 16 +- > > sys/contrib/openzfs/module/zfs/zfs_vnops.c | 83 +- > > sys/contrib/openzfs/module/zfs/zio_compress.c | 2 +- > > sys/contrib/openzfs/module/zstd/README.md | 44 +- > > .../module/zstd/include/zstd_compat_wrapper.h | 271 +- > > .../openzfs/module/zstd/lib/common/allocations.h | 56 + > > sys/contrib/openzfs/module/zstd/lib/common/bits.h | 206 + > > .../openzfs/module/zstd/lib/common/bitstream.h | 210 +- > > .../openzfs/module/zstd/lib/common/compiler.h | 372 +- > > sys/contrib/openzfs/module/zstd/lib/common/cpu.h | 40 +- > > sys/contrib/openzfs/module/zstd/lib/common/debug.h | 57 +- > > .../module/zstd/lib/common/entropy_common.c | 220 +- > > .../openzfs/module/zstd/lib/common/error_private.c | 13 +- > > .../openzfs/module/zstd/lib/common/error_private.h | 104 +- > > sys/contrib/openzfs/module/zstd/lib/common/fse.h | 143 +- > > .../module/zstd/lib/common/fse_decompress.c | 206 +- > > sys/contrib/openzfs/module/zstd/lib/common/huf.h | 287 +- > > sys/contrib/openzfs/module/zstd/lib/common/mem.h | 284 +- > > sys/contrib/openzfs/module/zstd/lib/common/pool.c | 81 +- > > sys/contrib/openzfs/module/zstd/lib/common/pool.h | 25 +- > > .../module/zstd/lib/common/portability_macros.h | 172 + > > .../openzfs/module/zstd/lib/common/xxhash.c | 865 --- > > .../openzfs/module/zstd/lib/common/xxhash.h | 7199 ++++++++++++= +++++++- > > .../openzfs/module/zstd/lib/common/zstd_common.c | 44 +- > > .../openzfs/module/zstd/lib/common/zstd_deps.h | 124 + > > .../openzfs/module/zstd/lib/common/zstd_internal.h | 345 +- > > .../openzfs/module/zstd/lib/common/zstd_trace.h | 157 + > > .../openzfs/module/zstd/lib/compress/clevels.h | 135 + > > .../module/zstd/lib/compress/fse_compress.c | 249 +- > > .../openzfs/module/zstd/lib/compress/hist.c | 66 +- > > .../openzfs/module/zstd/lib/compress/hist.h | 11 +- > > .../module/zstd/lib/compress/huf_compress.c | 1240 +++- > > .../module/zstd/lib/compress/zstd_compress.c | 5917 ++++++++++++= ---- > > .../zstd/lib/compress/zstd_compress_internal.h | 1017 ++- > > .../zstd/lib/compress/zstd_compress_literals.c | 163 +- > > .../zstd/lib/compress/zstd_compress_literals.h | 22 +- > > .../zstd/lib/compress/zstd_compress_sequences.c | 75 +- > > .../zstd/lib/compress/zstd_compress_sequences.h | 15 +- > > .../zstd/lib/compress/zstd_compress_superblock.c | 693 +- > > .../zstd/lib/compress/zstd_compress_superblock.h | 2 +- > > .../openzfs/module/zstd/lib/compress/zstd_cwksp.h | 484 +- > > .../module/zstd/lib/compress/zstd_double_fast.c | 611 +- > > .../module/zstd/lib/compress/zstd_double_fast.h | 32 +- > > .../openzfs/module/zstd/lib/compress/zstd_fast.c | 1039 ++- > > .../openzfs/module/zstd/lib/compress/zstd_fast.h | 21 +- > > .../openzfs/module/zstd/lib/compress/zstd_lazy.c | 1665 ++++- > > .../openzfs/module/zstd/lib/compress/zstd_lazy.h | 184 +- > > .../openzfs/module/zstd/lib/compress/zstd_ldm.c | 608 +- > > .../openzfs/module/zstd/lib/compress/zstd_ldm.h | 27 +- > > .../module/zstd/lib/compress/zstd_ldm_geartab.h | 107 + > > .../openzfs/module/zstd/lib/compress/zstd_opt.c | 1004 ++- > > .../openzfs/module/zstd/lib/compress/zstd_opt.h | 58 +- > > .../module/zstd/lib/compress/zstd_preSplit.c | 239 + > > .../module/zstd/lib/compress/zstd_preSplit.h | 34 + > > .../module/zstd/lib/decompress/huf_decompress.c | 1858 +++-- > > .../zstd/lib/decompress/huf_decompress_amd64.S | 603 ++ > > .../module/zstd/lib/decompress/zstd_ddict.c | 24 +- > > .../module/zstd/lib/decompress/zstd_ddict.h | 4 +- > > .../module/zstd/lib/decompress/zstd_decompress.c | 897 ++- > > .../zstd/lib/decompress/zstd_decompress_block.c | 1565 +++-- > > .../zstd/lib/decompress/zstd_decompress_block.h | 24 +- > > .../zstd/lib/decompress/zstd_decompress_internal.h | 79 +- > > sys/contrib/openzfs/module/zstd/lib/zstd.h | 1848 ++++- > > .../module/zstd/lib/{common =3D> }/zstd_errors.h | 45 +- > > sys/contrib/openzfs/module/zstd/zfs_zstd.c | 35 +- > > sys/contrib/openzfs/module/zstd/zstd-in.c | 93 +- > > sys/contrib/openzfs/rpm/Makefile.am | 1 + > > sys/contrib/openzfs/scripts/Makefile.am | 1 + > > sys/contrib/openzfs/scripts/objtool-wrapper.in | 4 +- > > sys/contrib/openzfs/scripts/spdxcheck.pl | 25 +- > > sys/contrib/openzfs/scripts/zfs-tests.sh | 16 +- > > sys/contrib/openzfs/tests/Makefile.am | 1 + > > sys/contrib/openzfs/tests/runfiles/common.run | 15 +- > > sys/contrib/openzfs/tests/runfiles/linux.run | 8 +- > > sys/contrib/openzfs/tests/runfiles/sanity.run | 3 +- > > .../openzfs/tests/test-runner/bin/zts-report.py.in | 4 - > > sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 1 + > > .../tests/zfs-tests/callbacks/zfs_dbgmsg.ksh | 2 +- > > .../openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh | 2 +- > > sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 + > > .../openzfs/tests/zfs-tests/cmd/Makefile.am | 5 +- > > .../tests/zfs-tests/cmd/checksum/sha2_test.c | 39 +- > > .../openzfs/tests/zfs-tests/cmd/mmap_seek.c | 2 +- > > sys/contrib/openzfs/tests/zfs-tests/cmd/setlease.c | 126 + > > .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +- > > .../openzfs/tests/zfs-tests/include/libtest.shlib | 54 +- > > .../openzfs/tests/zfs-tests/include/tunables.cfg | 4 +- > > .../openzfs/tests/zfs-tests/tests/Makefile.am | 18 + > > .../bclone/bclone_crossfs_corner_cases.ksh | 9 + > > .../bclone/bclone_crossfs_corner_cases_limited.ksh | 9 + > > .../functional/bclone/bclone_crossfs_data.ksh | 7 + > > .../functional/bclone/bclone_crossfs_embedded.ksh | 7 + > > .../functional/bclone/bclone_diffprops_all.ksh | 28 +- > > .../bclone/bclone_diffprops_checksum.ksh | 18 +- > > .../bclone/bclone_diffprops_compress.ksh | 16 +- > > .../functional/bclone/bclone_diffprops_copies.ksh | 18 +- > > .../bclone/bclone_diffprops_recordsize.ksh | 18 +- > > .../tests/functional/bclone/bclone_prop_sync.ksh | 12 +- > > .../bclone/bclone_samefs_corner_cases.ksh | 7 + > > .../bclone/bclone_samefs_corner_cases_limited.ksh | 7 + > > .../tests/functional/bclone/bclone_samefs_data.ksh | 6 + > > .../functional/bclone/bclone_samefs_embedded.ksh | 6 + > > .../functional/block_cloning/block_cloning.kshlib | 24 - > > .../block_cloning_after_device_removal.ksh | 61 + > > .../tests/functional/cache/cache_012_pos.ksh | 5 + > > .../cli_root/zfs_clone/zfs_clone_nomount.ksh | 66 + > > .../zfs_rewrite/zfs_rewrite_skip_clone.ksh | 83 + > > .../zfs_rewrite/zfs_rewrite_skip_snapshot.ksh | 74 + > > .../zpool_create/zpool_create_tempname.ksh | 2 + > > .../functional/cli_root/zpool_get/vdev_get.cfg | 1 + > > .../functional/cli_root/zpool_get/zpool_get.cfg | 2 + > > .../cli_root/zpool_get/zpool_get_parsable.cfg | 4 +- > > .../cli_root/zpool_set/vdev_set_scheduler.ksh | 93 + > > .../zfs_send_delegation_user/zfs_send_usertest.ksh | 11 +- > > .../functional/events/zed_synchronous_zedlet.ksh | 6 +- > > .../zfs-tests/tests/functional/l2arc/l2arc.cfg | 3 +- > > .../functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh | 138 + > > .../functional/l2arc/l2arc_dwpd_reimport_pos.ksh | 169 + > > .../l2arc/l2arc_multidev_scaling_pos.ksh | 162 + > > .../l2arc/l2arc_multidev_throughput_pos.ksh | 133 + > > .../zfs-tests/tests/functional/lease/cleanup.ksh | 26 + > > .../tests/functional/lease/lease_setlease.ksh | 44 + > > .../zfs-tests/tests/functional/lease/setup.ksh | 27 + > > .../tests/zfs-tests/tests/functional/mmp/mmp.cfg | 6 +- > > .../zfs-tests/tests/functional/mmp/mmp.kshlib | 47 +- > > .../tests/functional/mmp/mmp_active_import.ksh | 42 +- > > .../tests/functional/mmp/mmp_concurrent_import.ksh | 133 + > > .../tests/functional/mmp/mmp_exported_import.ksh | 16 +- > > .../zfs-tests/tests/functional/mmp/mmp_hostid.ksh | 8 +- > > .../tests/functional/mmp/mmp_inactive_import.ksh | 20 +- > > .../zfs-tests/tests/functional/mmp/mmp_on_off.ksh | 4 +- > > .../tests/functional/mmp/mmp_on_thread.ksh | 4 +- > > .../tests/functional/mmp/mmp_on_uberblocks.ksh | 14 +- > > .../zfs-tests/tests/functional/mmp/mmp_on_zdb.ksh | 3 +- > > .../tests/functional/mmp/mmp_reset_interval.ksh | 8 +- > > .../functional/mmp/mmp_write_distribution.ksh | 2 +- > > .../tests/functional/mmp/mmp_write_uberblocks.ksh | 4 +- > > .../tests/functional/mmp/multihost_history.ksh | 2 + > > .../tests/functional/mount/mount_loopback.ksh | 3 +- > > .../zfs-tests/tests/functional/pam/pam_basic.ksh | 58 + > > .../tests/functional/pam/pam_change_unmounted.ksh | 13 +- > > .../tests/functional/pam/pam_nounmount.ksh | 14 +- > > .../tests/zfs-tests/tests/functional/pam/setup.ksh | 11 + > > .../tests/functional/pam/utilities.kshlib.in | 6 + > > .../rsend/send_large_blocks_incremental.ksh | 83 + > > .../functional/rsend/send_large_blocks_initial.ksh | 86 + > > .../rsend/send_large_microzap_incremental.ksh | 91 + > > .../rsend/send_large_microzap_transitive.ksh | 100 + > > .../tests/functional/snapshot/snapshot_018_pos.ksh | 52 +- > > .../zfs-tests/tests/functional/trim/trim_l2arc.ksh | 5 +- > > sys/contrib/openzfs/udev/Makefile.am | 1 + > > sys/modules/dtrace/fasttrap/Makefile | 2 +- > > sys/modules/zfs/Makefile | 8 +- > > sys/modules/zfs/zfs_config.h | 24 +- > > sys/modules/zfs/zfs_gitrev.h | 2 +- > > 513 files changed, 34137 insertions(+), 10963 deletions(-) > >=20 > > diff --cc cddl/lib/libzfs/Makefile > > index a034118a6f5b,000000000000..8f364d2c2bb1 > > mode 100644,000000..100644 > > --- a/cddl/lib/libzfs/Makefile > > +++ b/cddl/lib/libzfs/Makefile > > @@@ -1,109 -1,0 +1,105 @@@ > > +.PATH: ${ZFSTOP}/module/icp > > +.PATH: ${ZFSTOP}/module/zcommon > > +.PATH: ${ZFSTOP}/lib/libzfs > > +.PATH: ${ZFSTOP}/lib/libzfs/os/freebsd > > - .PATH: ${ZFSTOP}/lib/libshare > > +.PATH: ${ZFSTOP}/include > > +.PATH: ${ZFSTOP}/module/zstd > > +.PATH: ${ZFSTOP}/module/zstd/lib > > + > > +PACKAGE=3D zfs > > +LIB_PACKAGE=3D > > + > > +LIB=3D zfs > > +LIBADD=3D \ > > + avl \ > > + bsdxml \ > > + crypto \ > > + geom \ > > + m \ > > + md \ > > + nvpair \ > > + pthread \ > > + rt \ > > + umem \ > > + util \ > > + z \ > > + zfs_core \ > > + zutil > > + > > +INCS=3D libzfs.h > > +USER_C =3D \ > > - libzfs_changelist.c \ > > - libzfs_config.c \ > > - libzfs_crypto.c \ > > - libzfs_dataset.c \ > > - libzfs_diff.c \ > > - libzfs_import.c \ > > - libzfs_iter.c \ > > - libzfs_mount.c \ > > - libzfs_pool.c \ > > - libzfs_sendrecv.c \ > > - libzfs_status.c \ > > - libzfs_util.c > > ++ libzfs_changelist.c \ > > ++ libzfs_config.c \ > > ++ libzfs_crypto.c \ > > ++ libzfs_dataset.c \ > > ++ libzfs_diff.c \ > > ++ libzfs_import.c \ > > ++ libzfs_iter.c \ > > ++ libzfs_mount.c \ > > ++ libzfs_pool.c \ > > ++ libzfs_sendrecv.c \ > > ++ libzfs_share.c \ > > ++ libzfs_share_nfs.c \ > > ++ libzfs_status.c \ > > ++ libzfs_util.c \ > > ++ os/freebsd/libzfs_share_nfs.c \ > > ++ os/freebsd/libzfs_share_smb.c > > + > > +# FreeBSD > > +USER_C +=3D \ > > + libzfs_compat.c \ > > + libzfs_zmount.c > > + > > - # libshare > > - USER_C +=3D \ > > - libshare.c \ > > - nfs.c \ > > - os/freebsd/nfs.c \ > > - os/freebsd/smb.c > > -=20 > > +KERNEL_C =3D \ > > + cityhash.c \ > > + zfeature_common.c \ > > + zfs_comutil.c \ > > + zfs_deleg.c \ > > + zfs_fletcher.c \ > > + zfs_fletcher_superscalar.c \ > > + zfs_fletcher_superscalar4.c \ > > + zfs_namecheck.c \ > > + zfs_prop.c \ > > + zfs_valstr.c \ > > + zpool_prop.c \ > > + zprop_common.c > > + > > +ARCH_C =3D > > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > > +ARCH_C +=3D zfs_fletcher_intel.c \ > > + zfs_fletcher_sse.c=20 > > +CFLAGS +=3D -DHAVE_SSE2 > > +.endif > > +.if ${MACHINE_ARCH} =3D=3D "amd64" > > +ARCH_C +=3D zfs_fletcher_avx512.c > > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F > > +.endif > > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > > +.endif > > + > > +SRCS=3D $(USER_C) $(KERNEL_C) $(ARCH_C) > > + > > +WARNS?=3D 2 > > +SHLIB_MAJOR=3D 4 > > +CSTD=3D c99 > > +CFLAGS+=3D -DIN_BASE > > +CFLAGS+=3D -I${ZFSTOP}/include > > +CFLAGS+=3D -I${ZFSTOP}/include/os/freebsd > > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include > > +CFLAGS+=3D -I${ZFSTOP}/lib/libspl/include/os/freebsd > > +CFLAGS+=3D -I${ZFSTOP}/lib/libshare > > +CFLAGS+=3D -I${ZFSTOP}/lib/libzpool/include > > +CFLAGS+=3D -I${SRCTOP}/sys/contrib/ck/include > > +CFLAGS+=3D -I${SRCTOP}/sys > > +CFLAGS+=3D -I${SRCTOP}/cddl/compat/opensolaris/include > > +CFLAGS+=3D -I${ZFSTOP}/module/icp/include > > +CFLAGS+=3D -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h > > +CFLAGS+=3D -DHAVE_ISSETUGID > > +CFLAGS+=3D -DHAVE_EXECVPE > > +CFLAGS+=3D -include ${SRCTOP}/sys/modules/zfs/zfs_config.h > > +CFLAGS+=3D -DSYSCONFDIR=3D\"/etc\" > > +CFLAGS+=3D -DPKGDATADIR=3D\"/usr/share/zfs\" > > +CFLAGS+=3D -DZFSEXECDIR=3D\"${LIBEXECDIR}/zfs\" > > + > > +.include > > diff --cc cddl/lib/libzpool/Makefile > > index ade864790f1c,000000000000..74a5f6ccb438 > > mode 100644,000000..100644 > > --- a/cddl/lib/libzpool/Makefile > > +++ b/cddl/lib/libzpool/Makefile > > @@@ -1,343 -1,0 +1,342 @@@ > > +.PATH: ${ZFSTOP}/lib/libzpool > > + > > +# ZFS_COMMON_SRCS > > +.PATH: ${ZFSTOP}/module/zfs > > +.PATH: ${ZFSTOP}/module/zcommon > > +.PATH: ${ZFSTOP}/module/unicode > > +# LUA_SRCS > > +.PATH: ${ZFSTOP}/module/lua > > +# ZSTD_SRCS > > +.PATH: ${ZFSTOP}/module/zstd > > +.PATH: ${ZFSTOP}/module/zstd/lib/common > > +.PATH: ${ZFSTOP}/module/zstd/lib/compress > > +.PATH: ${ZFSTOP}/module/zstd/lib/decompress > > + > > +.if > > exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_A= RCH}/opensolaris_atomic.S) > > +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_= ARCH} > > +ATOMIC_SRCS=3D opensolaris_atomic.S +ACFLAGS+=3D -Wa,--noexecstack > > +.else > > +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern > > +ATOMIC_SRCS=3D opensolaris_atomic.c > > +.endif > > + > > +.if ${MACHINE_ARCH} =3D=3D "powerpc" > > +# Don't waste GOT entries on small data. > > +PICFLAG=3D -fPIC > > +.endif > > + > > +PACKAGE=3D zfs > > +LIB_PACKAGE=3D > > + > > +LIB=3D zpool > > + > > +USER_C =3D \ > > + arc_os.c \ > > + kernel.c \ > > + util.c \ > > + zfs_debug.c > > + > > +.PATH: ${ZFSTOP}/module/os/linux/zfs > > + > > +KERNEL_C =3D \ > > + simd_stat.c \ > > + zfeature_common.c \ > > + zfs_comutil.c \ > > + zfs_deleg.c \ > > + zfs_fletcher.c \ > > + zfs_fletcher_superscalar.c \ > > + zfs_fletcher_superscalar4.c \ > > + zfs_namecheck.c \ > > + zfs_prop.c \ > > + zfs_zstd.c \ > > + zpool_prop.c \ > > + zprop_common.c \ > > + abd.c \ > > + abd_os.c \ > > + aggsum.c \ > > + arc.c \ > > + blake3_zfs.c \ > > + blkptr.c \ > > + bplist.c \ > > + bpobj.c \ > > + bptree.c \ > > + bqueue.c \ > > + btree.c \ > > + brt.c \ > > + cityhash.c \ > > + dbuf.c \ > > + dbuf_stats.c \ > > + ddt.c \ > > + ddt_log.c \ > > + ddt_stats.c \ > > + ddt_zap.c \ > > + dmu.c \ > > + dmu_diff.c \ > > + dmu_direct.c \ > > + dmu_object.c \ > > + dmu_objset.c \ > > + dmu_recv.c \ > > + dmu_redact.c \ > > + dmu_send.c \ > > + dmu_traverse.c \ > > + dmu_tx.c \ > > + dmu_zfetch.c \ > > + dnode.c \ > > + dnode_sync.c \ > > + dsl_bookmark.c \ > > + dsl_dataset.c \ > > + dsl_deadlist.c \ > > + dsl_deleg.c \ > > + dsl_dir.c \ > > + dsl_crypt.c \ > > + dsl_pool.c \ > > + dsl_prop.c \ > > + dsl_scan.c \ > > + dsl_synctask.c \ > > + dsl_destroy.c \ > > + dsl_userhold.c \ > > + edonr_zfs.c \ > > + entropy_common.c \ > > + error_private.c \ > > + fm.c \ > > + fse_compress.c \ > > + fse_decompress.c \ > > + gzip.c \ > > + hist.c \ > > + hkdf.c \ > > + huf_compress.c \ > > + huf_decompress.c \ > > + lzjb.c \ > > + lz4.c \ > > + lz4_zfs.c \ > > + metaslab.c \ > > + mmp.c \ > > + multilist.c \ > > + objlist.c \ > > + pathname.c \ > > + pool.c \ > > + range_tree.c \ > > + refcount.c \ > > + rrwlock.c \ > > + sa.c \ > > + sha2_zfs.c \ > > + skein_zfs.c \ > > + spa.c \ > > + spa_checkpoint.c \ > > + spa_config.c \ > > + spa_errlog.c \ > > + spa_history.c \ > > + spa_log_spacemap.c \ > > + spa_misc.c \ > > + spa_stats.c \ > > + space_map.c \ > > + space_reftree.c \ > > + txg.c \ > > ++ u8_textprep.c \ > > + trace.c \ > > + uberblock.c \ > > + unique.c \ > > + vdev.c \ > > + vdev_draid.c \ > > + vdev_draid_rand.c \ > > + vdev_file.c \ > > + vdev_indirect_births.c \ > > + vdev_indirect.c \ > > + vdev_indirect_mapping.c \ > > + vdev_initialize.c \ > > + vdev_label.c \ > > + vdev_label_os.c \ > > + vdev_mirror.c \ > > + vdev_missing.c \ > > + vdev_queue.c \ > > + vdev_raidz.c \ > > + vdev_raidz_math_aarch64_neon.c \ > > + vdev_raidz_math_aarch64_neonx2.c \ > > + vdev_raidz_math_avx2.c \ > > + vdev_raidz_math_avx512bw.c \ > > + vdev_raidz_math_avx512f.c \ > > + vdev_raidz_math.c \ > > + vdev_raidz_math_scalar.c \ > > + vdev_rebuild.c \ > > + vdev_removal.c \ > > + vdev_root.c \ > > + vdev_trim.c \ > > - xxhash.c \ > > + zap.c \ > > + zap_leaf.c \ > > + zap_micro.c \ > > + zcp.c \ > > + zcp_get.c \ > > + zcp_global.c \ > > + zcp_iter.c \ > > + zcp_set.c \ > > + zcp_synctask.c \ > > + zfeature.c \ > > + zfs_byteswap.c \ > > + zfs_chksum.c \ > > + zfs_crrd.c \ > > + zfs_debug_common.c \ > > + zfs_fm.c \ > > + zfs_fuid.c \ > > + zfs_impl.c \ > > + zfs_sa.c \ > > + zfs_znode.c \ > > + zfs_racct.c \ > > + zfs_ratelimit.c \ > > + zfs_rlock.c \ > > + zil.c \ > > + zio.c \ > > + zio_checksum.c \ > > + zio_compress.c \ > > + zio_crypt.c \ > > + zio_inject.c \ > > + zle.c \ > > + zrlock.c \ > > + zstd_common.c \ > > + zstd_compress.c \ > > + zstd_compress_literals.c \ > > + zstd_compress_sequences.c \ > > + zstd_compress_superblock.c \ > > + zstd_ddict.c \ > > + zstd_decompress.c \ > > + zstd_decompress_block.c \ > > + zstd_double_fast.c \ > > + zstd_fast.c \ > > + zstd_lazy.c \ > > + zstd_ldm.c \ > > + zstd_opt.c \ > > ++ zstd_preSplit.c \ > > + zthr.c > > + > > +ARCH_C =3D > > +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386" > > +ARCH_C +=3D vdev_raidz_math_sse2.c \ > > + vdev_raidz_math_ssse3.c \ > > + zfs_fletcher_intel.c \ > > + zfs_fletcher_sse.c=20 > > +CFLAGS +=3D -DHAVE_SSE2 -DHAVE_SSE3 > > +.endif > > +.if ${MACHINE_ARCH} =3D=3D "amd64" > > +ARCH_C +=3D zfs_fletcher_avx512.c > > +CFLAGS+=3D -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \ > > + -DHAVE_AVX512BW > > +.endif > > +.if ${MACHINE_CPUARCH} =3D=3D "aarch64" > > +ARCH_C +=3D zfs_fletcher_aarch64_neon.c > > +.endif > > + > > +LUA_C =3D \ > > + lapi.c \ > > + lauxlib.c \ > > + lbaselib.c \ > > + lcode.c \ > > + lcompat.c \ > > + lcorolib.c \ > > + lctype.c \ > > + ldebug.c \ > > + ldo.c \ > > + lfunc.c \ > > + lgc.c \ > > + llex.c \ > > + lmem.c \ > > + lobject.c \ > > + lopcodes.c \ > > + lparser.c \ > > + lstate.c \ > > + lstring.c \ > > + lstrlib.c \ > > + ltable.c \ > > + ltablib.c \ > > + ltm.c \ > > + lvm.c \ > > + lzio.c > > + > > - UNICODE_C =3D u8_textprep.c > > -=20 > > - SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C} > > ++SRCS+=3D ${USER_C} ${KERNEL_C} ${LUA_C} ${ARCH_C} > > + > > *** 15577 LINES SKIPPED *** > > =20 >=20 > buildworld failure after commit, immintrin.h not found error: >=20 > [...] > In file included from /usr/src/sys/contrib/openzfs/module/zstd/lib/common= /fse.h:230: > /usr/src/sys/contrib/openzfs/module/zstd/lib/common/bitstream.h:38:14: fa= tal error: > 'immintrin.h' file not found 38 | # include /* support= for bextr > (experimental)/bzhi */ >=20 > Kind regards, > oh >=20 >=20 Correction: buildkernel fails. ZFS is, btw, built statically into the kernel. --=20 A FreeBSD user --Sig_/u=PR.TkrjpEx8p4V+ljeX27 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCabZepAAKCRCxzvs8Oqok r0Q7AQDbCfolWwG8r7FQOR7aG0zatbuPuA3cWwiPiAfogdl+FAEAjl2pcO4P4geO dyqKAxjSBCDwI19ALM66gKXt7MEB0gA= =XJGM -----END PGP SIGNATURE----- --Sig_/u=PR.TkrjpEx8p4V+ljeX27-- From nobody Sun Mar 15 15:18:20 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYhgk0Qppz6Vxf3 for ; Sun, 15 Mar 2026 15:18:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYhgj5Zfqz3DMP for ; Sun, 15 Mar 2026 15:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773587905; 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; bh=OzSO2tY/pnSKOCu2STBP5E/RfOxtCNB4D8f92nbrBrs=; b=JTdyTH1NDL6rfkSRTUx05ZW/bbKl67y+Wdh67PyJMw37muqPVKJtoO3ZeI1U+JikMBEhVN aEh4QtvW/yvWCnotzKqzEqLEWxXiUydKi+Ra+9rPPgmUS94CCllgvbyuqK51q+NxPqmuRQ jRwpUX545hjEt2akv4t0UI6B5XRSFm6ABI/KYvqnJPgU8AY5qRHvZPzrcK9OJBITKXlH9M NPRzh9jZUCOcEM7PT+hEeLJfcxJsDs+taNaj3sg2/yJtcDg6sYyR3OUpWGBDMwdGlvtly4 ZeQK0L1cFFDVMeAU/Pidp0GhHj/O4q4NIa7wH3YOkqh/GrthCSLR+muoOhaWyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773587905; a=rsa-sha256; cv=none; b=aHcuJ9WXdlrTqN+vALm9TyXSbDTwBROyAfIW+QBWWQOSxpjG4dT0RxBazXEIOum4vnxAQC Ei/GAGyJrfbfpZqvWOHdU5XqqE6vm35QKQdjtb8DFK55COPMxEtAlruwGi2A3rKVu/Y0Il TpIis9HLu65vAuT8gr8vTnNXo14EeNcMavkL/7+BEyfyElHrulfk7qsJ5PTGB1gpPQ2ewq q6g+DCnsjbO/h8GuL7NIsJitvrdpbIQtZavtLc7sJarI6LrxDkjRNkXf+rWNPRfKIAeuF8 m4OUOe1rJEB8kVbJEqKgLr6ZLW0CVvilGQ9O12sOg4VARnIVjsA9XDT2ZHzRrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773587905; 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; bh=OzSO2tY/pnSKOCu2STBP5E/RfOxtCNB4D8f92nbrBrs=; b=h/TPXNedpbTBJsAe+Eq132I2bcCMoZLS3jLu5vdIef5lIeT9yKCV/La/F6QUUBhD/+W4bc 9YjrhURfE8lTB1x6om2gcX0UC8v9GzBLI9qe2Z5f0SmlddvJz+E1kVXa8ef8n2ExL7FBDN feWWcoBrQ+pkfxme/jyjScm9qTD1n1mZJfuNf8Z/XXtB6rPHah49p1J5J5TKoJtBHWXzXX aWZgFPXKScQX/1scCNVGWOPp9rC3C4V3t7AxbmXzWMSd1YBLojmZza8LGk2AwiZ+rfjL2v s6p7qMD0Qc8sqkgNCwnmHwUC/RypfF5r4REPAlgRsd8yIsrP/g6rRSsQnTbfug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYhgj4qLTzvFD for ; Sun, 15 Mar 2026 15:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45c01 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 15:18:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 462a1f6197fa - main - resolver.5: document six previously undocumented 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 462a1f6197fa3de63e0eca2835b1d5b0bc6a3bbb Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 15:18:20 +0000 Message-Id: <69b6cdbc.45c01.d733e6b@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=462a1f6197fa3de63e0eca2835b1d5b0bc6a3bbb commit 462a1f6197fa3de63e0eca2835b1d5b0bc6a3bbb Author: Christos Longros AuthorDate: 2026-03-15 15:17:04 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-15 15:17:08 +0000 resolver.5: document six previously undocumented options Document the edns0, inet6, insecure1, insecure2, no-check-names, and rotate options which are parsed by res_init(3) but were not described in the resolver(5) man page. MFC after: 1 week Signed-off-by: Christos Longros Reviewed by: des Differential Revision: https://reviews.freebsd.org/D55864 --- share/man/man5/resolver.5 | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/share/man/man5/resolver.5 b/share/man/man5/resolver.5 index 9f8c0d689a0a..4dd3f8c93a99 100644 --- a/share/man/man5/resolver.5 +++ b/share/man/man5/resolver.5 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 23, 2022 +.Dd March 15, 2026 .Dt RESOLVER 5 .Os .Sh NAME @@ -170,6 +170,38 @@ the allowed maximum is .Dv RES_MAXRETRY (see .In resolv.h ) . +.It Sy edns0 +Sets +.Dv RES_USE_EDNS0 . +Attach an OPT pseudo-RR for the EDNS0 extension, +as specified in RFC 2671. +This allows the resolver to advertise a larger UDP receive buffer size, +permitting responses larger than the original 512-byte limit. +.It Sy inet6 +Sets +.Dv RES_USE_INET6 . +Causes +.Xr gethostbyname 3 +to look up AAAA records before A records +and to map IPv4 responses into IPv6 addresses. +The use of this option is discouraged. +.It Sy insecure1 +Sets +.Dv RES_INSECURE1 . +Disables the check that the response was received from the +same server to which the query was sent. +Use of this option is a security risk and is not recommended. +.It Sy insecure2 +Sets +.Dv RES_INSECURE2 . +Disables the check that the response contains a query +matching the one that was sent. +Use of this option is a security risk and is not recommended. +.It Sy no-check-names +Sets +.Dv RES_NOCHECKNAME . +Disables the check of incoming host names for invalid characters +such as underscore, non-ASCII, or control characters. .It Sy no_tld_query tells the resolver not to attempt to resolve a top level domain name, that is, a name that contains no dots. @@ -179,6 +211,12 @@ the resolver from obeying the standard and .Sy search rules with the given name. +.It Sy rotate +Sets +.Dv RES_ROTATE . +Causes the resolver to round-robin among the configured name servers, +distributing the query load instead of always trying the first +listed server. .It Sy reload-period : Ns Ar n The resolver checks the modification time of .Pa /etc/resolv.conf From nobody Sun Mar 15 17:37:45 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYlmT3yFQz6V8tj for ; Sun, 15 Mar 2026 17:37: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYlmT2SfFz3TtM for ; Sun, 15 Mar 2026 17:37:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773596265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S9gxohmscyorIEx8vh5iZM43nhRaaGAjcT2gx2SRic0=; b=oS+VkKswUA33T6Dpr8Ay/+JTZQGiJGPxPWEMUylIZMlO+KLwB2TavMXlH+j4Tn2lC7mKci qJtLXiDQhSLKiI359zqxJLnInHcrt+5+qOs9/8m+52a46/qo/xdFY4rGlsrF8pSMI3jNTi L41F5bxvc9f6vSccUfYgfk1m1hkFXeF/5LgP8+f6dcDqDXgoy/DUQIgeQPHOgdZ/YVvOKk qlX+54Wmx36c2Fe/dKi7jfr8ZFQWXBhpSmPO9BzqOGL9UMrJ00ZQAiXwBvsLoKeF3bQ0kA uPuSV4mzcXApVT89rBPWc5FMMYHhxunl1jLegwzWfPswjBY5UFxqv2nPMRqbnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773596265; a=rsa-sha256; cv=none; b=PLaR5cEl/tdL7uxwrK1vpnYBMsyJuBrYlwVFBNJPYiDwZqTvGfIGjfeAHwTXEsbp+oB3v+ gkQWMCY3aIm6wRsqzTToetFRAEVxh8Q/k+15zjxtmhsRcu1yFiYKzGSIseKJX+1clWNU+y XkM7OPwBkE2bzU+Yq1N5N8vI16eibfBGPeRf4Y7iIB7SUVb7UtZvIqwDXj49ZCTwpz6x1y XyBP1UjUOX1KqzcN3SL6lewxPoTWYZOXAOZuDIcptARxF/oDXTw3BznVyN8qbQbwbEfgqe 8OWnFeVbG+oQsxlwNn61F/B5trPARVd33sR6wgxMh5ty5LyTbMtgn6sjUZcU3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773596265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S9gxohmscyorIEx8vh5iZM43nhRaaGAjcT2gx2SRic0=; b=qQcK2v6y/5IdXKATvLJNgYmB3wLOJl/6rtzXnOBg2l1UDgb8jcInYaF5VUmy+PKVv9jta7 /O+XQGgKMmVG6PSF9koXUVLgXxToMNnu2Zh80Df16Tyhjg443lAEjidxsIN9rmdbsBfZkW OMZPhnJWALod8AWdnOP1BdQWp/NQxGaOfErxwH1pPBeZAlliNRp+z7EG2AdXlOTIKIQwAq sUMnUWFRdDbFExh9Ck4YtwgY9KNCN1NseoPcgIGdoORaE7pEebxK1KA0eKGi/eTGApafRz 21F9nI2fHG6jCRa+VDm3DrbJ3LpmbOT3GXik3oXlm5p/DxKyVFT4Rhuz9zah4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYlmT1ntNzyJN for ; Sun, 15 Mar 2026 17:37:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24b2f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 17:37:45 +0000 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=B8rg?=rav Subject: git: 356415aaaa8c - main - Unbreak LINT after ZFS import List-Id: Commit messages for the main 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: 356415aaaa8caa18a76ea74eed5c7de6e4d3b5fd Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 17:37:45 +0000 Message-Id: <69b6ee69.24b2f.421654a2@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=356415aaaa8caa18a76ea74eed5c7de6e4d3b5fd commit 356415aaaa8caa18a76ea74eed5c7de6e4d3b5fd Author: Dag-Erling Smørgrav AuthorDate: 2026-03-15 17:36:27 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-03-15 17:36:27 +0000 Unbreak LINT after ZFS import Fixes: 8a62a2a5659d ("zfs: merge openzfs/zfs@f8e5af53e") --- sys/conf/files | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index bdba00188d10..c6151b0b73cf 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -742,6 +742,7 @@ dev/acpi_support/acpi_ibm.c optional acpi_ibm acpi dev/acpi_support/acpi_panasonic.c optional acpi_panasonic acpi dev/acpi_support/acpi_sbl_wmi.c optional acpi_sbl_wmi acpi dev/acpi_support/acpi_sony.c optional acpi_sony acpi +dev/acpi_support/acpi_system76.c optional acpi_system76 acpi dev/acpi_support/acpi_toshiba.c optional acpi_toshiba acpi dev/acpi_support/atk0110.c optional aibs acpi dev/acpica/Osd/OsdDebug.c optional acpi @@ -1850,6 +1851,7 @@ dev/iicbus/rtc/ds1307.c optional ds1307 dev/iicbus/rtc/ds13rtc.c optional ds13rtc | ds133x | ds1374 dev/iicbus/rtc/ds1672.c optional ds1672 dev/iicbus/rtc/ds3231.c optional ds3231 +dev/iicbus/rtc/hym8563.c optional hym8563 iicbus fdt dev/iicbus/rtc/isl12xx.c optional isl12xx dev/iicbus/rtc/nxprtc.c optional nxprtc | pcf8563 dev/iicbus/rtc/pcf85063.c optional pcf85063 iicbus fdt @@ -3575,6 +3577,7 @@ dev/xdma/xdma_mbuf.c optional xdma dev/xdma/xdma_queue.c optional xdma dev/xdma/xdma_sg.c optional xdma dev/xdma/xdma_sglist.c optional xdma +dev/xen/acpi/xen-acpi.c optional xenhvm dev/xen/balloon/balloon.c optional xenhvm dev/xen/blkfront/blkfront.c optional xenhvm dev/xen/blkback/blkback.c optional xenhvm From nobody Sun Mar 15 18:48:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYnKx5VBfz6VFFw for ; Sun, 15 Mar 2026 18:48:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYnKx3JHRz3dlg for ; Sun, 15 Mar 2026 18:48:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773600501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tiIhkxtwEUtCcByvooGrlqGpZn+S/Q9zqWCLNWIHYYI=; b=pASB2i9e55WPCAOK5Wrx6E711Cnek1+Tz9bePrq7efLusPREBGR2l25XKbrrLCqUDSPCWx tvICkslsnaEu5CWm1pI2ex5eqq9CPgDon+zqWPktZMKIFj0Sei6ooeyYFF47jJ40EBrPJP MwQRqIXqwpZr1xmWYN/KZa2XEPEVPtf+UM2d2MAeFmdNtiV6adJqbQ8hD8weJn67kgmuzJ H2zFoQTt6La2l5kiT/8a4OosWawahfAht9fiAv7i9ABG7/1BvNm2WYVtbVEateaPZfX8D6 +Q2Gl7G0PBOnOC7eS+NmVGi38uM+RgYaxqHchcIUREWUK0I5p+wetr6pCSkkeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773600501; a=rsa-sha256; cv=none; b=IEhN0QyIeSlP5Cv/ZcPL4KgLMxP0JzsnTuDiARxfxd825a2lZ3Jk/rQ5S19xrLmnmpzQga 2Pq9Xq6p1Gl97FIZEWsmJE4tA2Bm/TchgR/3tMMgHGtdb0DnsMcJVEGrsLi2E67W7kRFLW 6u4Pbvl+srfqyZpJQwmqm5dAmziZ/IJehQFtCVlzXb86Ks5Fmlo6MHoRMzjNoXYXlXzfpy tvWL0e9BQIBUb9wziOQ5mC/mQGgiCkLok2LAW3hF6HzWw1O54MDclWFnYmQHRZdRcvLz9d tsacCfBRF60zocFlqFX0DTotFNQdyTTdUPZcBF7t9ufUjb1hfo2VlhD7/ETSuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773600501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tiIhkxtwEUtCcByvooGrlqGpZn+S/Q9zqWCLNWIHYYI=; b=ERWkqBL7PnVMc1LedeLOJTTXJOBlknAjqOZ5TwxtrKtsqaNG4zS0Z8bjygNGdg6rRfh6YA M7htq3Z3eJBvp6JD9HMCqSyJTTq2Pf1kUgbTgUKw22oV4/PKQP2t9WZtg5JWizunx6gR09 o6jaxz/UEZiQ9+KYfULlXFcrBt9ithiEc6lAL4j7A1vQafXQX/9aTQswqO+w0fOnISDylV WKOsL2EtIyyyblOr+Q+kXD6EiC2uznY2c9bDPnJDDk4HT1i8wIFskcDnrSduggSICCvXn1 WLzk961XMp6mkomIX+6a/bfqGkGt2PJGe9suKnORp7OuY+qWbVer/82J1I543Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYnKx2Rggz10f3 for ; Sun, 15 Mar 2026 18:48:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34243 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 18:48:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 0bebad8d072b - main - bsd.own.mk: Deorbit compat include of bsd.compiler.mk List-Id: Commit messages for the main 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: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bebad8d072bb7abef1cea0d8c8d04d500913adf Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 18:48:21 +0000 Message-Id: <69b6fef5.34243.6b7d7224@gitrepo.freebsd.org> The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=0bebad8d072bb7abef1cea0d8c8d04d500913adf commit 0bebad8d072bb7abef1cea0d8c8d04d500913adf Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-03-15 18:35:50 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-03-15 18:47:35 +0000 bsd.own.mk: Deorbit compat include of bsd.compiler.mk Commit b946bedd09d3bd1 ("Previous versions of bsd.own.mk [...]") mentions that bsd.own.mk included bsd.compiler.mk as a temporary workaround and was destined to be removed in FreeBSD 12. Do that now. PR: 203540 Reviewed by: bnovkov, imp Approved by: bnovkov (mentor) Differential Revision: https://reviews.freebsd.org/D55867 --- share/mk/bsd.own.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 4dffe9723a9e..01d41ae5ae6d 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -291,10 +291,4 @@ TESTSBASE?= /usr/tests DEPENDFILE?= .depend -# Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF -# wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12. -.if !defined(_WITHOUT_SRCCONF) -.include -.endif # !_WITHOUT_SRCCONF - .endif # !target(____) From nobody Sun Mar 15 19:11:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYnrV3WMSz6VGvB for ; Sun, 15 Mar 2026 19:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYnrV0JDKz3hRf for ; Sun, 15 Mar 2026 19:11:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773601882; 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; bh=MwH+doIKw2QcXda+BCHxS+PH+9ZSXEkTPNPN9fAtO64=; b=aHZUYyc7dBPw2ioMI6A5n9KEypWYELUr3rBsqjqyHDfoiUc+okjUCqo/uHOQGc1aZvD44W MbJeWwQqbKsPQ+O9Ca/KsvkeU5SH2k3DZl0N15AwdKBbTUePB8VJGDzevkaY25Bds4zUYM D0mG9h4B7lI2xfQK09zt+HK7j4/F3Y+7Cn1WG4/tdEUjeJEGwMMxE96/F/NB+y90djzRKP k1KxytJeMEvv46+Zy3wqEWtzdngQJlzZhYpHUms3NlSn/UnhAtOo6jlp+O0mQZlxAuIBhc zRqjCMdhNqeOCeUQPrQ9Ibv5Wcr6Bui6orNpYJ7csFCzKK2MJdzo4MuC70DYNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773601882; a=rsa-sha256; cv=none; b=HHTWxqBgtNIEAg6d/rnKoBBNMeNmZr4wbYpWoiSa3JGiPzK7G3BVVewW89Gtn8op609UmR jt9jbG+6J8mJ5YlK4E9z6Oy2gKt0ceHZXv00g7nu9vSrVzScBaX4O4BW3t+v9El86+Sjn3 DkKZtV/WPZjJD/G90UX10UzTS30PBxYSd4Tf1xNO6/wSPb1Fskr+/teaWk+hmiawm96mv+ 3GkIlnfZuG6rbXvdSbbMlI5hdGggQvL2GwjTvc4FKJmqaYWaJN2NW800uC1WPNX5vzoMML w+R3tQIQXx/aeoJcSnQKRrGlX2Tpmr4tRlcHPWLAmKMusGc7ylNY2aN76lCLRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773601882; 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; bh=MwH+doIKw2QcXda+BCHxS+PH+9ZSXEkTPNPN9fAtO64=; b=BL/fwf5xS0Rkd3gVYQXsUb4nU4wb/CWuDsDpOu9Bt6dla0nnNhqlgBFp5QMmnMJJENrTr1 xoS9aS7mM3MUXE0NEFbrkTeq+lHT4RnEx2ePkrVyqrEH1QmoOBY3Wo+IfgFLDgblow3HDj qclcmN1fgTL/eUpBe7xZBhxXTxaIz0wNXS/uU8n/zqyYVrcQGNJvwRp4D/6L1o8xfpxCwK n9/rr3keI3gIVL/yu+TsMA2qELVFv4bZnANooR/kdphHXCfSO3B6c2DA+Z6bPNQYZqo1KT rUlXPE7QmY4+82bCOriDKjZ1YKN/4bKfXDP0uevP8RUGNhyMZlcbsmCTSlwsxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYnrT6Lw1z12R7 for ; Sun, 15 Mar 2026 19:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3750f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 19:11:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ying Xu From: Pouria Mousavizadeh Tehrani Subject: git: 2e9366982798 - main - rtlbtfw(8): Add support for Realtek 8852CE List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e9366982798144764159f9c0faced5f0e208b85 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 19:11:21 +0000 Message-Id: <69b70459.3750f.35a5bf3e@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=2e9366982798144764159f9c0faced5f0e208b85 commit 2e9366982798144764159f9c0faced5f0e208b85 Author: Ying Xu AuthorDate: 2026-03-11 07:55:45 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-15 19:08:42 +0000 rtlbtfw(8): Add support for Realtek 8852CE Add the USB Vendor/Product ID (0x13d3:0x3612) for the new Realtek 8852CE drive to make sure it works. Signed-off-by: Ying Xu Reviewed by: pouria, wulf Pull Request: https://github.com/freebsd/freebsd-src/pull/2071 --- sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c | 1 + usr.sbin/bluetooth/rtlbtfw/main.c | 1 + usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c index f35712cc8f69..f5dcac0a6846 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c @@ -100,6 +100,7 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x13d3, 0x3587, 0) }, { USB_VPI(0x13d3, 0x3586, 0) }, { USB_VPI(0x13d3, 0x3592, 0) }, + { USB_VPI(0x13d3, 0x3612, 0) }, { USB_VPI(0x0489, 0xe122, 0) }, /* Realtek 8852BE Bluetooth devices */ diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c index 58503b8087b5..37c902739206 100644 --- a/usr.sbin/bluetooth/rtlbtfw/main.c +++ b/usr.sbin/bluetooth/rtlbtfw/main.c @@ -83,6 +83,7 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x13d3, .product_id = 0x3587 }, { .vendor_id = 0x13d3, .product_id = 0x3586 }, { .vendor_id = 0x13d3, .product_id = 0x3592 }, + { .vendor_id = 0x13d3, .product_id = 0x3612 }, { .vendor_id = 0x0489, .product_id = 0xe122 }, /* Realtek 8852BE Bluetooth devices */ diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf index 2ef56d2af93a..0a2b33d33b18 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf @@ -110,7 +110,7 @@ notify 100 { match "subsystem" "DEVICE"; match "type" "ATTACH"; match "vendor" "0x13d3"; - match "product" "(0x3587|0x3586|0x3592)"; + match "product" "(0x3587|0x3586|0x3592|0x3612)"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; notify 100 { From nobody Sun Mar 15 19:36:38 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYpPm2WX3z6VKB7 for ; Sun, 15 Mar 2026 19:36:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYpPm0XpYz3nsV for ; Sun, 15 Mar 2026 19:36:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773603404; 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; bh=UIDThBQ9lDHZPbElfQlv+M382Xcg8ONBe9P401S4SIs=; b=hZslW5wZJkEVo2iVAtsAdkKAG1zd03SCpqLKg/360JHh2KWU7QLojZPwBkA9LgNiwrKtJI rMwIvDmVbvAq1u06f10BlgJt6kvs8nAhZGK1ofTsDCYvZm67M6/WxsCKvHLa6QFwsFZs1J 1xQoXx6iwUufpIYVBcxDhE7uWxPlGuHXaRT4Xphq0ygbial0HzRnv7GuBdOs4d+a9JZumE VeQ1voxvOnJYKtD3tHRFBRdaxu+/TQozPlJ9gCNtHYWXlzwZ/iuzTkTOTYQVy8sGUZRFAj 0T5ax0eutzlh5X/3ZeIsw7/Qzd+LlIZVMVTGLhsZBPeJ0pL2Kk5X3J8/DeJQPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773603404; a=rsa-sha256; cv=none; b=O3o9PmKHuTKVZwD7tv3QHv10vseR9Wxwpy9ZjzVYmJvteD+FlL/36SyHNDqOsBFiB9+uYE 4y2ebdY+9FJoWxenQWXB3aCfozT0OmUACccw1VK3+is2CWKONAEw+qJ+AL8N88Dou1anyC NEviplest9T8MyouB979+FTQsH1xD/p/i3V8xvTsbAwr1gRWM2LKT4DuJLO9YwDtqQRiMQ XyIeJaqEUV3D71+FXNBDtaxx5Myk2M5zq+hxt3lDwU4uUPefSln1Au7QgamdvvEUvotpxm tVELmF/N8H/IOL3TEdAZLWbxkWaeidL+GHIbPUbOhNG7e3krvMVnADzgGRCONA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773603404; 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; bh=UIDThBQ9lDHZPbElfQlv+M382Xcg8ONBe9P401S4SIs=; b=r+ZFhktdrIMWYwck8z4r/AfOW82h53+b0p/9XJGRrOLqSSApnzMwbvVCAwlCpvgqqDTzMX qmknq9gUN4j84GUzg/0zc7L8M+rjZGCz2PcvoLEhiFvj6wHb8UuSdsVu2aVWLSR8gBMR79 /wGYbtWuEOwSs5b8MSQp2jzvbqI8joe49ZVqQSBBEDyZnWFQxdGBXfE+kgwF8rrWCnRQAp UQjFSYr8hR6c6LRUq492hPOp8btLU1mGOJqDXM7mcojseYUp93pQEZVTSjBPcgLz4fvcrV I57obosOhIAuWRlzdcdACC6VXahQn9yc01KI2ci6h/gq8ooaqs/3/jB49fI1dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYpPl6btJz134V for ; Sun, 15 Mar 2026 19:36:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 397e4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 19:36:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Salman Sarray From: Pouria Mousavizadeh Tehrani Subject: git: 424d3ca81f4e - main - backlight.8: Fix typo in man List-Id: Commit messages for the main 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 424d3ca81f4e748afd90332fd6c37c944eb3b3cf Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 19:36:38 +0000 Message-Id: <69b70a46.397e4.3aeb1140@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=424d3ca81f4e748afd90332fd6c37c944eb3b3cf commit 424d3ca81f4e748afd90332fd6c37c944eb3b3cf Author: Salman Sarray AuthorDate: 2026-03-11 19:26:29 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-03-15 19:32:06 +0000 backlight.8: Fix typo in man Increment and decrement where swapped. Signed-off-by: Salman Sarray Reviewed by: ziaee, Christos Longros Pull Request: https://github.com/freebsd/freebsd-src/pull/2072 --- usr.bin/backlight/backlight.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/backlight/backlight.8 b/usr.bin/backlight/backlight.8 index 25fa91c0060c..291d1628d5ea 100644 --- a/usr.bin/backlight/backlight.8 +++ b/usr.bin/backlight/backlight.8 @@ -73,10 +73,10 @@ A trailing .Dq % is valid. .It Cm incr Ns | Ns Cm + Op Ar value -Decrement the backlight level. +Increment the backlight level. If no value is specified a default of 10 percent is used. .It Cm decr Ns | Ns Cm - Op Ar value -Increment the backlight level. +Decrement the backlight level. If no value is specified a default of 10 percent is used. .El .Sh EXAMPLES From nobody Sun Mar 15 19:39:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYpTW3ZV4z6VJk9; Sun, 15 Mar 2026 19:39:59 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp052.goneo.de (smtp052.goneo.de [85.220.129.60]) (using TLSv1.3 with cipher TLS_AES_256_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 4fYpTV6n36z3pPW; Sun, 15 Mar 2026 19:39:58 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; none Received: from hub2.goneo.de (hub2.goneo.de [IPv6:2001:1640:5::8:53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp5.goneo.de (Postfix) with ESMTPS id 4A1FB2402A3; Sun, 15 Mar 2026 20:39:56 +0100 (CET) Received: from hub2.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPS id 61B96240255; Sun, 15 Mar 2026 20:39:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1773603594; 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=kAMEToCMrp6eLoNcNIhy6HmfP210MicEVTXLZtzlKJU=; b=sYXFeovPlbl3qlGdA8G1VoQyvHHe+GCwxJMKH2tPnsjx2o2PNYp6flWePxx4WWuqfmx9D/ hXS9NAmHhOY2yZ95BFkHVgrgV8skPxSeGTw+1XdB2nMehbsTikOVcaadyB85OORGgCtafy 3aztMVo+v5X7RCG94IyPoZsP05xl6ga4O9ZOBOfwxNW2fNa83UjKhn4sfLR4/hpgDECv8W zS4bVRoWWS6CMSbZpr8vzsCpUW3g6KFl3Jb9McS/2so6mp7W3ruzuOjIM1AWW/ecPgY7u6 M6jVA51xkbCKv0o0X7pVfrtTJLjNWd2DSvYtI+ZkbkGbojS0LDRCdUvsVg56zw== Received: from thor.sb211.local (dynamic-2a02-3100-2919-7102-19f0-b1be-50ca-364f.310.pool.telefonica.de [IPv6:2a02:3100:2919:7102:19f0:b1be:50ca:364f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPSA id F236D240214; Sun, 15 Mar 2026 20:39:53 +0100 (CET) Date: Sun, 15 Mar 2026 20:39:26 +0100 From: A FreeBSD User To: Mateusz Piotrowski <0mp@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 0bebad8d072b - main - bsd.own.mk: Deorbit compat include of bsd.compiler.mk Message-ID: <20260315203858.4a77460a@thor.sb211.local> In-Reply-To: <69b6fef5.34243.6b7d7224@gitrepo.freebsd.org> References: <69b6fef5.34243.6b7d7224@gitrepo.freebsd.org> X-Mailer: Claws Mail 3.21.0 (GTK+ 2.24.33; amd64-portbld-freebsd16.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: multipart/signed; boundary="Sig_/ShGV53VhxEPKvRVy=GYujmE"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Rspamd-UID: c1da90 X-Rspamd-UID: 09f576 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:25394, ipnet:85.220.128.0/17, country:DE] X-Rspamd-Queue-Id: 4fYpTV6n36z3pPW X-Spamd-Bar: ---- --Sig_/ShGV53VhxEPKvRVy=GYujmE Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Tage des Herren Sun, 15 Mar 2026 18:48:21 +0000 Mateusz Piotrowski <0mp@FreeBSD.org> schrieb: > The branch main has been updated by 0mp: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D0bebad8d072bb7abef1cea0d8c= 8d04d500913adf >=20 > commit 0bebad8d072bb7abef1cea0d8c8d04d500913adf > Author: Mateusz Piotrowski <0mp@FreeBSD.org> > AuthorDate: 2026-03-15 18:35:50 +0000 > Commit: Mateusz Piotrowski <0mp@FreeBSD.org> > CommitDate: 2026-03-15 18:47:35 +0000 >=20 > bsd.own.mk: Deorbit compat include of bsd.compiler.mk > =20 > Commit b946bedd09d3bd1 ("Previous versions of bsd.own.mk [...]") > mentions that bsd.own.mk included bsd.compiler.mk as a temporary > workaround and was destined to be removed in FreeBSD 12. Do that now. > =20 > PR: 203540 > Reviewed by: bnovkov, imp > Approved by: bnovkov (mentor) > Differential Revision: https://reviews.freebsd.org/D55867 > --- > share/mk/bsd.own.mk | 6 ------ > 1 file changed, 6 deletions(-) >=20 > diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk > index 4dffe9723a9e..01d41ae5ae6d 100644 > --- a/share/mk/bsd.own.mk > +++ b/share/mk/bsd.own.mk > @@ -291,10 +291,4 @@ TESTSBASE?=3D /usr/tests > =20 > DEPENDFILE?=3D .depend > =20 > -# Compat for the moment -- old bsd.own.mk only included this when _WITHO= UT_SRCCONF > -# wasn't defined. bsd.ports.mk and friends depend on this behavior. Remo= ve in 12. > -.if !defined(_WITHOUT_SRCCONF) > -.include > -.endif # !_WITHOUT_SRCCONF > - > .endif # !target(____) >=20 This seems to break "buildkernel": [...] make[3]: /usr/src/sys/modules/Makefile:949: Variable "COMPILER_TYPE" is und= efined in make[3] in directory "/usr/src/sys/modules" make[3]: Fatal errors encountered -- cannot continue make[3]: stopped making "all" in /usr/src/sys/modules *** Error code 1 Kind regards, oh --=20 A FreeBSD user --Sig_/ShGV53VhxEPKvRVy=GYujmE Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCabcLCQAKCRCxzvs8Oqok r9w4AQCmpkFNWV3r3lhTO8cyEhcWtr+NJ/ZjeysGbq04u/dF6wD/ZHpx9rONBp8L eKE3RqxU6guFfru0xs1//w9CURmxGws= =wrDa -----END PGP SIGNATURE----- --Sig_/ShGV53VhxEPKvRVy=GYujmE-- From nobody Sun Mar 15 19:46:51 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYpdR6Vk3z6VKbM for ; Sun, 15 Mar 2026 19:46: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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYpdR5hfYz3qrs for ; Sun, 15 Mar 2026 19:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773604011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IGrBdIynCPa3TDOcJ6rMgd5J3DaOzZu4ZERBJWdWdtw=; b=RbEoL2AK2aV52VolEhXU++HYlmh/AaWYkRGQex9WPWwDFWEGIncIQiuPoAkg8SxzvfcTf4 i6/ktdKQF19ZI21sWrD/n4eedMJ7p5ElBb+yBhgT6sT7OAV2CIpxL+qdLdvJygKMPBHWcw Nn63jbHfhDZTN7J7kCTX+VCc/5O9H9ATgBD6EX88r6EytL2SVnPT96E4kuoTNmgIL2U0Xu v4h4fd9CJX0/pmk25HoeMMOoPbArv6I7D7F3Z51Ij52de1jgeTP1WbvguJlesRihHINGK8 zKNKa4Un53713+QdX2VkFw68Wdfjh1Z5RmrVCCIvn57jJrIjmbai0OmFWO7QbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773604011; a=rsa-sha256; cv=none; b=mHfwHRSRxWeRMwqsKiu59UaRKWkuHgS4RUiD4JyZSlIJjSBBnVw6YjaWTo9U0RVzTMXj1U 5/K7exCNKHa0DXDWQxkU9ubtkyb9fOkGJ9KMSRCE4gwmCSJaHLr5ORklcNekVuxddeq1xz X+4j0Tx9QTtyTrGn7y/AU5ZzR6YejgZQ1ls8ibJZToBu68+bLla203tc9siqPsyX4CjZ5C k1czwhkqbesAskCW3QfPtXnwyXWNIRpc1jJaYXkdpHSRffMMin7omdrC1J2vcRrpaK4ury p/KXH0STll50AK4WPJWZus8YPC+eM/MisUiIR+s4k0dpO6xAA8tfAG3vAOY8eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773604011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IGrBdIynCPa3TDOcJ6rMgd5J3DaOzZu4ZERBJWdWdtw=; b=oMj1GYbVKgtAGrKxXFMLGW9XDX962lgRAQiMu4rsuNmkgkVvg2scq5QpU1ojEPdy/LrMwj G5ruAd3H44SBSoTo+vJrcjrp/K1+YH+jZeC4RHvh6boOSnop+czBLB0ce3uL4V/h8y+pSx zsrZ+H4khEc2dojdaq6vK7X3sunS/2g0Kuf1uO1cOwn7KNn+TN2KLfKIEAdGqghINPdWm/ 09cAJVbuzXCNRi54c3kh3H9DVZAhSDG0lwB5PtZ89ctUdc/2nF6ctC6JJFKN2SciifYmJH EadW+tlpBX3q9Yb5QCgeMOEi0DGC1O7dSWNQRPkz/dzQdlSc9R6duHBke/xAUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYpdR59SVz12WT for ; Sun, 15 Mar 2026 19:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38559 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 19:46:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 73f37a69f65e - main - Revert "bsd.own.mk: Deorbit compat include of bsd.compiler.mk" List-Id: Commit messages for the main 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: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73f37a69f65ef4a6243a1b80bd763271560fa677 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 19:46:51 +0000 Message-Id: <69b70cab.38559.1f300727@gitrepo.freebsd.org> The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=73f37a69f65ef4a6243a1b80bd763271560fa677 commit 73f37a69f65ef4a6243a1b80bd763271560fa677 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2026-03-15 19:31:52 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2026-03-15 19:45:29 +0000 Revert "bsd.own.mk: Deorbit compat include of bsd.compiler.mk" This reverts commit 0bebad8d072bb7abef1cea0d8c8d04d500913adf. It might be that all that's needed to fix this is to add ".include " to some Makefiles. I'll look into it soon but for now let's unbreak HEAD. Approved by: bnovkov (mentor) Differential Revision: https://reviews.freebsd.org/D55869 --- share/mk/bsd.own.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 01d41ae5ae6d..4dffe9723a9e 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -291,4 +291,10 @@ TESTSBASE?= /usr/tests DEPENDFILE?= .depend +# Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF +# wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12. +.if !defined(_WITHOUT_SRCCONF) +.include +.endif # !_WITHOUT_SRCCONF + .endif # !target(____) From nobody Sun Mar 15 19:47:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYpfF4F7dz6VKbS for ; Sun, 15 Mar 2026 19:47:33 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic311-24.consmr.mail.gq1.yahoo.com (sonic311-24.consmr.mail.gq1.yahoo.com [98.137.65.205]) (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 4fYpfF1DwMz3rNq for ; Sun, 15 Mar 2026 19:47:33 +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=1773604046; bh=zay+i/9qhmhkNBdyU4WruAetTmex0BRNZZn5Lz3Oiyc=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=Nu3ZUVkHTgfdWbEGKIIb0WNW3dKLr1waaR1WU9u6N/pHpmpZjy5v2zSTlmjtGtGgvGsXF5jijmwPaQqYhrzFXPaQ7GJYOK9C6R21VTqbKMGztlgq+EYYdJwz7zstlK7yLFVqueTqwEQyGVdbY/0KoLA611dFsyN9YBHSRs1AOH+63hA0sUUuWOh7MEEl4Tx1x0ReJ7zfwSOx3Q353dHGGiVjnsm5cPoqvLWhYtjUwjqa8s1Hhs5FcUlL4Vn1ySplZciUX7yB7iybF6LN+EZa3CYzX5x5luinkI3RWPwQig0iwgCnWdWxgcY9s25AjOigxF/sn6N57CelMX3E4MoLWQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1773604046; bh=JU/o2cfpLeEX8V0C5e8Piuzwx3IWTyYK/7JZxiuKE9X=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=J+ZI30HBSw/wUlCDmiRDTwNTs7K6wO04bd2113UV1hByP6tFWksbFPV6LgjPM/rxFJSmFFlBs2+m03gE2YQguGFCwMMAXsnZ9fZRVl4R0h1MgmiBi6Sm39mVLad31Jd8rWlP9MH/nyQWqO75t3ICItQX4LK2eI7WYwKs2JcksDl7hnd/O46dfks6pHCQpvESBTzaqdiCGUE+hKDlF2tMXv0NZoVoLjh7qteVnlpU6g7A8a8ij0ARx9my+8y2D6ABG3ueoVImIabsMPmZv8Lr3k+LmXU4zialF1vaGG5YvEIQ9GgCEB1uC98nJWAy9gJdiay+M4RTSzk6cpZoNVhbJA== X-YMail-OSG: CGZYIy0VM1mjtnHQKyZAlzGbaRe9R820.iMAozmHztoRtE8bSB49t_5T_UTdkmQ 6NcZ2kftQvHsVbBKlN3UyBaaSIpH02AB8CBacOqS2VR85pEjY80bIblFSKtBNLPMRhGsjgH_fUPz sB5s9r8SihsE1OlTmBKZxUxhOL4WIvgjCGwD4WTzh2OFLWuR6ME53.fQg6CEt8LuM7ghqTkJnTgL ApSzJpRhpNhj.Mlkkjt_i8lqkUZ9h_MSlLHAvLeR3UoEqsQraAPgN0gdn6XecgdCu6zGiVN.3xmP fOtxi17lpK_PGqrCtNXtBki1YgLHlYoSyMcbsJ05AmiAWhQhzBmVYZoM0nlvPilsJk25.SPdkKlJ .iQA_jfG.lPv3mVJCkj6yz8arZYhy_YoaqGO_7zGipTDEU6rwF8rACiufThbZwvmK3bGwdS.cvRy 00jnIrKAx6KkFEYkgLc5X.4lYKSQo.8fhtkOwDEGU4G22ZRFgXGP_8aIvtB132i_GoKfb._eFrdQ 2tTrnf6K5y9VPukwEffeQpLpODfN3ZVq9R9xW8C0kDfFcFg.WJRWfvEnZjKug6mJC54u7KOXvjtB QAvkx2EY8mxrTXb0w8JSDQFIoc3xCDtfsBNzm9wATn1LxGCE7mpUop2_cj7uOt5QMC3uZTdsf1Nk iEhFl5cURTYUvSEHfmZVaW37fjOOA5q5PJhUylOUlGErWUQC0rOGnF5aUMozcc1YX_vxZF5L2ZaQ av71SIODa9.pEO.UZFqM9uBDVXm07xoGqdayzbHNXBgYZQLJ7z6EjzEB270aPENQr76.mhSgbKaO eg1rBnfdUrNhffEvlwhYDAWTxWxT_.bHhCJ3XG_inqLNzQzHTFJV1ER0.ktb004a5Dg6x5BI2Xtf QVaALptM4X.hBUkX9VJsAvS.UqK4xwVITcaBBkTss2qe3fcEqG0K_XgAo8CImWZoGQRJXmGmibuB eqRgYT9TZzP53VFCo7J4.EojZUZBbiuMcWE0UvS2SOsnGJIZlMQjNvyBgjzlEDRD4OCZmJ3ajxT4 ac8c.GSi7yXGZnibL9Ld_TfwT6x9Xb8RU3MvRPXuZXyPIiDlYojuPZuRehnVpzShxtd4r7j392BP uH7dehiTsU.Nvs5kvtgHj6GRCVISt3TgMy2hi0KrvJsJUtSdiBJ5lO9FXoQpmRTHHqKurHXzSPkt oQxBkQs1WC9.pmTHyD1c5Qm0zEyWP_K0RZ654LJOfe_t04gIgLIqT9bVCjzjehdnekJT.IpWaQLe mivpplPxOuu7WgVHZmSGLlcE_HRgRmLJKJJPQAqUGvryCDcdAmtC8kV5OF74t2IRJd7KKz2uewl5 9ofJGmUNtW0EsKpcsMWfigbg7cL9Dak0N5gfzEgc54tYxP7uFulKhbtjfJTvFLK4o5BP8GwbVSEW 8RK2PSxX18BiXLDVX1FD9HN_9t9uCCbyGJA3iDbvc72ctR_ALKwuf5K31_ztWo.WBsIaJ9wpTfop 5tzgporUkRgTKnUborOrknNGx10BVhojH011ZtbWtZlyxUQxXTf8F53ETMjoUMR26PSsHy2Iq17d eZcy4eqZuVW1ZSP4bsvev9Fij0nmwyTySQyBYpktNVMG6PZ.CWF5uqOtq7xks0r944P4VO69DXBy mFWPq61VV8WZ6l.8RqeWuggxuMArpwZSSTnulzFas.hUbSZ4pov.sxB71PDuKUZOAHKlWLO8KVey wNI6E8cD3YHdIhcSAae9Vu7xf9_PAKMVE1wbm9H2T.WRsKgF.22xAD4hZ8jS2mZ1JVdRlecsdXtV PeqAuJlyLF7cazR.Ph2vNEtwVn_RntIgQpxKHOwj3lTcKLe8OtWcs8TKBmMJ7XoIxjMBuugdp500 ad3Hl5l_IHN8_TqJxBmVKhlNii3rY77ZdeH6vM0YK5k.GUv0a32LI7w.QI8UWWD70NFFEJsfUwec joA11eaZqAKHZ1jV8Z2Jsi2QPLEAKlc4MFH1SeygJBM4nIcmlVmuSKJ5xysPCnzLNew5cX69KeHd Yr6lHNEEumxro3aXR3_zE1iJPFoRCLiBxDSsJfO9kZdSWpfuHZz7rqSnU_Ivbe85CVOhu40yi_fh HoWU6w6Zthgso0iHcoX7ieOuTZQ_CRVn_jq78XrMkepOqTLUVhlQQZel_CdcQfzSMUut2wq3gPrK ipXXmid8yP8bWzIsA4sxStLvX2T.Qdtgm2o1CR1IwMQhliGZ0Of6eWejwAJiIVG4VlONVni1rAf9 kw550EY1_QavoL_U9AIJ3a3qVgZ5cBLO4UTdkNPmsrQbFIkAAcNtpy24nniRCtSfY02S_TJQGSTh iMBQEKaxHB4CElNc_m0xjbEa9FvYFh6X1WstayZwH92x1GnaY53P_KRJhFLiDAIoQgZsgMQ-- X-Sonic-MF: X-Sonic-ID: 9462269a-4881-41f3-b101-d06ba3b52f4e Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.gq1.yahoo.com with HTTP; Sun, 15 Mar 2026 19:47:26 +0000 Received: by hermes--production-gq1-6dfcf9f8b-vlhlt (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID dd2b74b4d0a4e5a11d65fdfcda43c25d; Sun, 15 Mar 2026 19:47:22 +0000 (UTC) Message-ID: <569f21d6-96f7-4ebf-a0a1-49590bde9424@yahoo.com> Date: Sun, 15 Mar 2026 12:47:21 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: 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: 0bebad8d072b - main - bsd.own.mk: Deorbit compat include of bsd.compiler.mk To: Mateusz Piotrowski <0mp@FreeBSD.org>, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <69b6fef5.34243.6b7d7224@gitrepo.freebsd.org> Content-Language: en-US From: Mark Millard In-Reply-To: <69b6fef5.34243.6b7d7224@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25297 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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: 4fYpfF1DwMz3rNq X-Spamd-Bar: ---- On 3/15/26 11:48, Mateusz Piotrowski wrote: > The branch main has been updated by 0mp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=0bebad8d072bb7abef1cea0d8c8d04d500913adf > > commit 0bebad8d072bb7abef1cea0d8c8d04d500913adf > Author: Mateusz Piotrowski <0mp@FreeBSD.org> > AuthorDate: 2026-03-15 18:35:50 +0000 > Commit: Mateusz Piotrowski <0mp@FreeBSD.org> > CommitDate: 2026-03-15 18:47:35 +0000 > > bsd.own.mk: Deorbit compat include of bsd.compiler.mk > > Commit b946bedd09d3bd1 ("Previous versions of bsd.own.mk [...]") > mentions that bsd.own.mk included bsd.compiler.mk as a temporary > workaround and was destined to be removed in FreeBSD 12. Do that now. > > PR: 203540 > Reviewed by: bnovkov, imp > Approved by: bnovkov (mentor) > Differential Revision: https://reviews.freebsd.org/D55867 > --- > share/mk/bsd.own.mk | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk > index 4dffe9723a9e..01d41ae5ae6d 100644 > --- a/share/mk/bsd.own.mk > +++ b/share/mk/bsd.own.mk > @@ -291,10 +291,4 @@ TESTSBASE?= /usr/tests > > DEPENDFILE?= .depend > > -# Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF > -# wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12. > -.if !defined(_WITHOUT_SRCCONF) > -.include > -.endif # !_WITHOUT_SRCCONF > - > .endif # !target(____) > > This seems to have broken the CI builds. For example, from amd64's: https://ci.freebsd.org/job/FreeBSD-main-amd64-build/34829/consoleText there is: . . . > git checkout -f 0bebad8d072bb7abef1cea0d8c8d04d500913adf # timeout=10 Commit message: "bsd.own.mk: Deorbit compat include of bsd.compiler.mk" . . . make[7]: /usr/src/lib/libc/tests/gen/Makefile:10: Variable "COMPILER_FEATURES" is undefined while evaluating variable "COMPILER_FEATURES" with value "" in make[7] in directory "/usr/src/lib/libc/tests/gen" make[7]: /usr/src/lib/libc/tests/gen/Makefile:19: Variable "COMPILER_FEATURES" is undefined while evaluating variable "COMPILER_FEATURES" with value "" in make[7] in directory "/usr/src/lib/libc/tests/gen" make[7]: /usr/src/lib/libc/tests/gen/Makefile:29: Variable "COMPILER_FEATURES" is undefined while evaluating variable "COMPILER_FEATURES" with value "" in make[7] in directory "/usr/src/lib/libc/tests/gen" make[7]: /usr/src/lib/libc/tests/gen/Makefile:111: Variable "COMPILER_FEATURES" is undefined while evaluating variable "COMPILER_FEATURES" with value "" in make[7] in directory "/usr/src/lib/libc/tests/gen" . . . --- cleandir_subdir_lib/libc/tests/gen --- make[7]: Fatal errors encountered -- cannot continue make[7]: stopped making "cleandir" in /usr/src/lib/libc/tests/gen --- cleandir_subdir_lib/libdiff --- . . . The prior: https://ci.freebsd.org/job/FreeBSD-main-amd64-build/34828/consoleText with . . . > git checkout -f 356415aaaa8caa18a76ea74eed5c7de6e4d3b5fd # timeout=10 Commit message: "Unbreak LINT after ZFS import" > git rev-list --no-walk 462a1f6197fa3de63e0eca2835b1d5b0bc6a3bbb # timeout=10 . . . built just fine. Those are back-to-back commits. -- === Mark Millard marklmi at yahoo.com From nobody Sun Mar 15 20:18:32 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYqL56SWwz6VMbh for ; Sun, 15 Mar 2026 20:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYqL560hPz3tVt for ; Sun, 15 Mar 2026 20:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773605917; 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; bh=UdnCzw5XYSjD3P9HNiZKIj9YcF8pGn9PLKazM5UludI=; b=DmtKbTej0LoVF9HKCTL1vCD5zXFj1YKSSqABNrsccXoK7rpmwfBdoYnHgRglf28VkZSw9k OlvFQ1NhH6xrfJ264cpIg6wyxcZRgoM2gwDwAOvtV5wiOTtAQu4mRTUZdFdb/bgT6vkfj2 frVoDGb9U+nYyP/Yf1puQHmpP8kLDw7GvV6Rt6JI8KaTTLrtJ7EFuAorL5bCnUEhSty6dj Xa+lYE9+idlE5HkSpEi+cegjT55FFioDE7/IMqpjO/hn48WotwxyQaUWfjjN+ClxhNsnFB ZXAo6LO+o0z/jdFokSMbVehTje1lgOw/Ut2FF14aO8qLrf3c4K0YXULLD+WWCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773605917; a=rsa-sha256; cv=none; b=Fxz7UqauDgO18e34VtqTeEPDOh7PZDU7Mf7/7C1TB9tC9psEebp6bTPxiUn+Ve7t1Zkm8p 5GHuPGoMb73Orf6j0zuM+8k+DycxZ6voNDfPXZQQd7qPLrhOSa5ZP5zbrYjGGXuDi2ArdE oCcaPzwrUAeHqc1PLIgvmpXMCBvFf9aBfAF2NW8skF4lRt5fALIiaE7HyieMEHjNcuZNXS sfD9P57ul8ZpsYe/RE8AZbtLzhKtefcjAC8LkvT831mQ2mQ1neS/Z4mnN2VaB6e8WnZlmh 1ied86ZJX1q75uiJLvvfRmMzRaL1DKuXyGkVLi9FVS+Y8mZPv54oqyEuN+dfSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773605917; 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; bh=UdnCzw5XYSjD3P9HNiZKIj9YcF8pGn9PLKazM5UludI=; b=Kuek3bGzO1jXfINRS6NmIiUN2OTvXY+TlVLZeMASg7qQa7oYMc0l7P/6oO0MFfOCYf3ytI 8vywiqC4Itng28eCH6O/2sJ9O9tfxXRK7WmM7d9pcyZld+wQOE1w1TUsNMWNrH7NLWd5MA UVET2Yutum/zlzf787pxJaw983TpdjrlU1yBPranCkO8AE73i9SSI4Jk5HXMBpo9RFsby3 W/OB3engjBoqgDQjCLcW3m949Ukin09LASnT9DRnr2OSPybDnUXXhoSvcHP08ipmrvw26M TCFYHYNWEVNXR2mglknlw4GTFQQuQMq5oUYXrVJf9Y9/vztgbsTAtSfCg1naXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYqL55DQ7z13dr for ; Sun, 15 Mar 2026 20:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ca6d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 20:18:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Christos Longros From: Adrian Chadd Subject: git: 9976cff55e88 - main - rge: use C style comments instead of 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: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9976cff55e8897f74d970567e61512103216cf58 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 20:18:32 +0000 Message-Id: <69b71418.3ca6d.3f0c6d22@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=9976cff55e8897f74d970567e61512103216cf58 commit 9976cff55e8897f74d970567e61512103216cf58 Author: Christos Longros AuthorDate: 2026-03-15 20:09:56 +0000 Commit: Adrian Chadd CommitDate: 2026-03-15 20:10:59 +0000 rge: use C style comments instead of C++ FreeBSD style(9) mandates C style comments. The initial import from OpenBSD left several C++ style // comments in if_rge.c and if_rgevar.h. Replace them with proper /* */ comments. Also fix a malformed comment that mixed // with a closing */. Signed-off-by: Christos Longros Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D55743 --- sys/dev/rge/if_rge.c | 4 ++-- sys/dev/rge/if_rgevar.h | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/dev/rge/if_rge.c b/sys/dev/rge/if_rge.c index b2f1311b4c87..e5297edfefbe 100644 --- a/sys/dev/rge/if_rge.c +++ b/sys/dev/rge/if_rge.c @@ -1125,7 +1125,7 @@ rge_init_locked(struct rge_softc *sc) * causing this to be initialised both from the ioctl * API and if_init() API. */ -// RGE_PRINT_ERROR(sc, "%s: called whilst running?\n", __func__); +/* RGE_PRINT_ERROR(sc, "%s: called whilst running?\n", __func__); */ return; } @@ -2409,7 +2409,7 @@ rge_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) { uint32_t crc, *hashes = arg; - // XXX TODO: validate this does addrlo? */ + /* XXX TODO: validate this does addrlo? */ crc = ether_crc32_be(LLADDR(sdl), ETHER_ADDR_LEN) >> 26; crc &= 0x3f; diff --git a/sys/dev/rge/if_rgevar.h b/sys/dev/rge/if_rgevar.h index 924133da45e3..6228f9ff229e 100644 --- a/sys/dev/rge/if_rgevar.h +++ b/sys/dev/rge/if_rgevar.h @@ -123,7 +123,6 @@ struct rge_rx { int rge_rxq_prodidx; int rge_rxq_considx; -// struct if_rxring rge_rx_ring; bus_addr_t rge_rx_list_paddr; bus_dmamap_t rge_rx_list_map; struct rge_rx_desc *rge_rx_list; @@ -137,7 +136,6 @@ struct rge_queues { void *q_ihc; int q_index; char q_name[16]; -// pci_intr_handle_t q_ih; struct rge_tx q_tx; struct rge_rx q_rx; }; @@ -171,8 +169,6 @@ struct rge_softc { bus_dma_tag_t sc_dmat_rx_buf; bus_dma_tag_t sc_dmat_stats_buf; -// pci_chipset_tag_t sc_pc; -// pcitag_t sc_tag; struct ifmedia sc_media; /* media info */ enum rge_mac_type rge_type; From nobody Sun Mar 15 23:18:39 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYvKr06Nxz6VbLn for ; Sun, 15 Mar 2026 23:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYvKq6TfCz3Hpj for ; Sun, 15 Mar 2026 23:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773616719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fJr4GZhpMGLPTNOgz3SlfRmaZsbnP3tTMqPwgo8727E=; b=U7ClV5sr+dl2eg3gwJwcKAz3hcspIlMQUl9ifYcf1GRe/U6DYc68ix2DttEQRHx2junRD/ vpfTpL2dpTinRHENc9d6oUmdbmYfYtHsQFsc786NBfu+/wf5xPIW0mrU2cyRrl9EqMNz6y rmVcQizJYBemEgjA/wFHTXeotNrpsGuR+9ZSKu8OYvomiCm3l8jXqaoVFBcHRc9H68GNke muOlV0GB3KN/o9Uf9WkMrDsjjj0xNE6r407MZsaw9rDYngwfKwrkXOJMgBBSMhB27hGS68 xZjZhFZWKb6RSaelUVFM/zhgXPz996fnLht+MbhkPYKCL5e6eTniPkY47nD8WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773616719; a=rsa-sha256; cv=none; b=VwjhyrzKiLChjSLHR43HEpfddAmxkBaf3npqWdF6KU2tbZR+tk4KqDBiG4zxKp3qsjn9uQ ey2njArf+s1ZIWeUoj+vxiVzxzJy89jOATWHow0w3/BK24SE390BluDFYv1IUOxfRVbmtC LV+uelnJcbnUUrGCHh1RPV1E2UanafcmIUiUg8VHloEYpBXqFOZAKsNzacq9zTwwFLEbQN cPKv13/ulkCXG4vrDP5Lijc1b4+4RUHBHJsK8If4pj2mXIIId9qGPbTALMAXAyOcHqFJU8 fw1JtzSuF9rhRmh/AcKABLaXhPQ1OUrLxll6wXHR0n31bghh7HnwWNONZmtR7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773616719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fJr4GZhpMGLPTNOgz3SlfRmaZsbnP3tTMqPwgo8727E=; b=lO7gd5Y9/fDwK+w3IQcj9YAXld+iSCXxAe0+LtRlv4jRi78t2wzb116qnXBlBoHqb/Jp7s n/EjRoKmrgmxIH26lN95EzNt/CNRu3rBu+2N4tCknQBVHS5j4RVfVpr5wqhiMOswACclsk u95D4h0gt3L7VEVLCghF/7sZ2vxfwpzRimOvIItP0giIPZpqiyZLX/Zq5Yo2pva0KboTpI Wq6ETBHHqYrPH3+CbyTdXbnp9n/X1XHlpaDWVjE7b2dyU45vBB4W4l0h2UbE3TZCe5hNLF sjjfhSJPwX90oY47QXHtwhNTa0a/MXJUe/xFxrwl4FWsh7WdHMNiMXY4S/FUOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYvKq5n7Vz18m4 for ; Sun, 15 Mar 2026 23:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 210f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 23:18:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 5f659f2b8533 - main - zfs: Fix build after merge of openzfs/zfs@f8e5af53e List-Id: Commit messages for the main 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f659f2b8533fd6063880080618e940b3a9ee370 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 23:18:39 +0000 Message-Id: <69b73e4f.210f1.1bd98000@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5f659f2b8533fd6063880080618e940b3a9ee370 commit 5f659f2b8533fd6063880080618e940b3a9ee370 Author: Olivier Certner AuthorDate: 2026-03-15 23:01:08 +0000 Commit: Olivier Certner CommitDate: 2026-03-15 23:16:56 +0000 zfs: Fix build after merge of openzfs/zfs@f8e5af53e The change causing it is the introduction of the test over __BMI2__ in 'module/zstd/lib/common/bitstream.h'. This is a stop-gap commit whose content needs to be upstreamed (after possibly having been improved). Fixes: 8a62a2a5659d ("zfs: merge openzfs/zfs@f8e5af53e") Sponsored by: The FreeBSD Foundation --- sys/modules/zfs/Makefile | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/sys/modules/zfs/Makefile b/sys/modules/zfs/Makefile index 5bb057ee95a2..4479c3c6eb12 100644 --- a/sys/modules/zfs/Makefile +++ b/sys/modules/zfs/Makefile @@ -448,28 +448,29 @@ CFLAGS.zprop_common.c= -Wno-cast-qual CFLAGS.zrlock.c= -Wno-cast-qual #zstd -CFLAGS.entropy_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.error_private.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.fse_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} -CFLAGS.fse_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.huf_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.huf_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.xxhash.c+= -U__BMI__ -fno-tree-vectorize +CFLAGS.entropy_common.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.error_private.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.fse_compress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} +CFLAGS.fse_decompress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_compress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.huf_decompress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.xxhash.c+= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_common.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_compress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_compress_literals.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_compress_sequences.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_compress_superblock.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} -CFLAGS.zstd_ddict.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_decompress.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_decompress_block.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_double_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_fast.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_lazy.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_ldm.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} -CFLAGS.zstd_opt.c= -U__BMI__ -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_common.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_literals.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_sequences.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_compress_superblock.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} ${NO_WUNUSED_BUT_SET_VARIABLE} +CFLAGS.zstd_ddict.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_decompress_block.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_double_fast.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_fast.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_lazy.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_ldm.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_opt.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} +CFLAGS.zstd_preSplit.c= -U__BMI__ -DZSTD_NO_INTRINSICS -fno-tree-vectorize ${NO_WBITWISE_INSTEAD_OF_LOGICAL} .if ${MACHINE_ARCH} == "aarch64" CFLAGS.entropy_common.c+= ${__ZFS_ZSTD_AARCH64_FLAGS} From nobody Sun Mar 15 23:22:07 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYvQ01glpz6VcPM; Sun, 15 Mar 2026 23:22:16 +0000 (UTC) (envelope-from olce@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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYvPz4bYsz3JsF; Sun, 15 Mar 2026 23:22:15 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773616935; 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=7wSewImWeOnzjhundmIB4tvByZwuOe1K8xP4YFfZvvo=; b=r/rHiK6IBq8vegL4IgIOYlogqNVZ6Jp1Z6sqZzRnDEn8MCdkP5ZSKeP4XWs66/Txv6D2zG XthxwAR1Ns7Mao/U3vMY1/cw+Ma+pcQLzuM0CTtYPwDn8ciJf7bqDqoO6pO7UOWaaiU4E6 zfjD9D2LfoidI6BA23b8BiZRErhGZNGMytn/8lgIHJUkidSf7/tpkkgxOm30kP1HfQIDhV YYxJsqrh5JWU0zCldSVzA9A1C8hhSuJ8VZxDWqweADdUKhEf4IOvYu7dg8eYQvnO5kuGpL Bxqg2Gh9/WSylo04qtWDb4Ot8IJNhpyBigUjoIYHaewZCjejMKOhg8Snfx/Z2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773616935; a=rsa-sha256; cv=none; b=auPKAXvnm897+ntvlZ7JgGWcf7lorTH1WQ3aFa2+F/0bjQikukfXzHmhmLDAMcxHhxLe6x 0WRS8V/5ViRgMNAmcsa05Qj8e/yMX1mztP68mMde/TSJnQvTV1GDtLKaBx+WPy3eDKL/SP p3ZpzW06SPTGkoCJtqS2tLJK2Ryf5l4q4T8ySVYggzrExCO/L0q+Pn+gD70QY2SMIKV7ni PHyewDg1qUoWyPs5bkrcfxJL75xOI+/zd/LevaeBkDSKzdvgR2rVfvPVw/JSQ5q+nCAR8S /q0ypdpo3QQecY7+DNdR+fN8nF6NDpobxeJ97836JYdPY21vr8vp16qj1lq9mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773616935; 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=7wSewImWeOnzjhundmIB4tvByZwuOe1K8xP4YFfZvvo=; b=ddcatV0Pn5gWW1hlaFI0UG7rz9M+BRmMWan7nhMoBo82p2BHuoOG6FQw+z5PF3sLp9nTqK yXSzYQkS7txvV1a0ZR0jUAXUbmOmcDewto9ST0fVgk8v7/zWVszm4utjNgUckGQAdOaJPy zrLjtibEKe4zQ0L0XVy8qh9iuy22XQSeRlexVcWMc0qblL1jvP0ESP2TRusS5nhiBG0OoO /D4NLUVTzhXn4obIJrSyXdeSCwG803FYE3FtBgjF1wc9X2CPttI/ml/jDU7MXVUOEndsek d49F8t6nXihXnuxMDXOOIVhEI9qkpPkGdG/PNLHu0S86kYdQOowcDgg1om6f4Q== Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (using TLSv1.3 with cipher TLS_AES_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: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fYvPy6KPBzqZy; Sun, 15 Mar 2026 23:22:14 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Martin Matuska Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, src-committers@freebsd.org Subject: Re: git: 8a62a2a5659d - main - zfs: merge openzfs/zfs@f8e5af53e Date: Mon, 16 Mar 2026 00:22:07 +0100 Message-ID: <2437020.THHZn3L5Ee@ravel> In-Reply-To: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> References: <69b561ff.39ea9.b797d91@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: multipart/signed; boundary="nextPart4081355.kAAoriTUSa"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart4081355.kAAoriTUSa Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Olivier Certner To: Martin Matuska Date: Mon, 16 Mar 2026 00:22:07 +0100 Message-ID: <2437020.THHZn3L5Ee@ravel> In-Reply-To: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> References: <69b561ff.39ea9.b797d91@gitrepo.freebsd.org> MIME-Version: 1.0 Hi Martin, > The branch main has been updated by mm: > > URL: https://cgit.FreeBSD.org/src/commit/?id=8a62a2a5659d1839d8799b4274c04469d7f17c78 > > commit 8a62a2a5659d1839d8799b4274c04469d7f17c78 > Merge: f91464171d61 f8e5af53e92f > Author: Martin Matuska > AuthorDate: 2026-03-14 12:14:56 +0000 > Commit: Martin Matuska > CommitDate: 2026-03-14 12:14:56 +0000 > > zfs: merge openzfs/zfs@f8e5af53e This commit has broken the amd64 build for a day and a half. I've just discovered that there have been some mails about that already, to which nobody replied. I've just fixed it (see https://cgit.freebsd.org/src/commit/?id=5f659f2b8533). Please improve it if possible, and upstream it. Additionally, IIRC, it's not the first time an OpenZFS import causes build failures. Could you please be more careful on future imports? Thanks in advance. -- Olivier Certner --nextPart4081355.kAAoriTUSa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmm3Px8ACgkQjKEwQJce JicHUBAAlPG7h6J6udyBqmNiyjB4/AhZyWIxcDTc3Yk+2bYJp/+JO7V9YWngCw07 YXYP5i7rhJG3SAJeKFxLe/Q5h5+hKi5EMszniAJnj1lmy41B/gYSj1DQivzV41+S 43Z4mNinc9S3sz45KE0hIxaaeWD2bcsWlYuiLZ8e0KRwMsaIOutTV5uZTFQs6Ees +NpBrW1jYWPuiC6LrCiyylgLTwcBhpyTNgtnKoFLmcA72XIPbru7X0Mm4e0pDsoZ qYsBCcHqbUEi+W0xOuFMUshaPVtDaBjZal2JPsPhaRhN9OS5y4OjaGli5trh3xIW Wtw90vEl1CFGcIq8sNt6Dp6W18dc4hRaGMQYitAyzTtoizhTnXCQ6Wa+NkRx7fGi TlJzRSb5Yh3BIGK+CuxLmxkOu97byxhqXT75yYb1jAhoAy7diOQmzcHmFTj1aPwl V/mDx0eHIgklkzF40gFhO9TW5v6VrwzrQpYOxZ7PbW5UD0qhqQ1BWJQy7POFl/Kq WKTNVuG5RjBogcP6scWFXFVAqA6V096RiU+MGnGlOS+doPRAF5P+igKD3tYZECWx B9yElJIebow0J/isEqct6lXRyIbhNESD7E+97Fcm+SMQ+b3TNqCp+7NBe1oZDkav vShVjyVLtCjW5NQdYYRQTuRml5BYI9vBTuG3FoYLffEm/TTf+d8= =+W56 -----END PGP SIGNATURE----- --nextPart4081355.kAAoriTUSa--