From nobody Mon Feb 16 10:30:15 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fDzYg51Qlz6SfGw for ; Mon, 16 Feb 2026 10: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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fDzYg2zwsz3phK for ; Mon, 16 Feb 2026 10: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=1771237815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U869/na+fyMJ2fd3Xrcuvoa3uLjA13+1MD9FgE8z1xw=; b=IWxp74mqu3fPTmSTwSjckk+LSyB4t3yCKcebkf1yqTfL/h7E1LFSCOnSjOrBMsyvxZI9mY B/uUDBjwq6glPDtfo4vD+PjwNJE//gYTJaywIQuaNQi+1AGMdQrspvpO7JIcv7XiGqdzqq Zs0N9exJsZquP5mxmeeu3Xl6CZhfTOIoBGZmM35jCTO8aMQQZ3+j4dK0GStbtdmS7YwQWi WCySIva2N6t5aeg/mm7Mn/UPDF7dazXD5CYoKh8HCO6glg0r0dN833N2+ahAwGpQypGtyZ zBNvsmGgrAYnNWNS0N7Uo0VVBsQpZkKe11qTaudH9N4HqxQlhXijymTXjJayzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771237815; a=rsa-sha256; cv=none; b=nr+hk521jSTZq0fKIzfpilkwrCLfLDernqP1SU7s6DnpJzCdvuVmLuI+tVoDUTsk4caK9y NbJ2PkHcXs0E/5ukatckgP/MZCnxrzOfu3ifZgAVBXUsztE4/CVD6sDpCmACcZBUudSuOL 5TZ6UGlqMAG7z8qgEMrNyBInDDrIxC2oMu7RB5FD9pzIpj4Hl6pgV6dTy4bBsGb6lFuPZh RW1bzfo7eLFaimEz2njgMcPM+cW32qJw5s5jRnWUIn6ILBJKOExk7fIL+BnzFeFEQGNQ4E leb0WViClw/vE6Bu5rEbSmaUFQa8nFPEMiztA9oSqpYeczROyYeD6mwb/MobGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771237815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U869/na+fyMJ2fd3Xrcuvoa3uLjA13+1MD9FgE8z1xw=; b=BZQfx6B50MDUxPy7niwA/NaY/SZeM8WQNlv/pwlZE32v9PP4GZsAqGmrD8TdCHLDrknvyB otjY6o4JYMTWlIgIwnwfZOA8mbZsA6W6g0SH+MKFgFlbSoZeE3ffqpxqgH4k+pZyNy1L7Z b0dBcGR54xAqMSzjE5L3jG+0K2BY6p+oGtXom4GCEg1H6Aec5JpinjMuGLoU9vHVnlx0rx 1D9puWC/d+m3J1uq3v7ceUCQ3Y7Hlctgk5aTdw1ZHs9ME8PZAlsSOo5MqooOmWF8OxiYMI cgfX0YIYVY0bGk9RH/2HjjcM3t1Oay2bZiXyuGN6oxS56RpC5fqaw3YTETlEyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fDzYg1k2Nz43D for ; Mon, 16 Feb 2026 10:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2730d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 16 Feb 2026 10:30:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 7c2fc4419db4 - main - sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 7c2fc4419db43a8a7d1886b0b8e08aa97bfa31e4 Auto-Submitted: auto-generated Date: Mon, 16 Feb 2026 10:30:15 +0000 Message-Id: <6992f1b7.2730d.2ecb61cc@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7c2fc4419db43a8a7d1886b0b8e08aa97bfa31e4 commit 7c2fc4419db43a8a7d1886b0b8e08aa97bfa31e4 Author: Olivier Certner AuthorDate: 2026-02-13 17:03:31 +0000 Commit: Olivier Certner CommitDate: 2026-02-16 10:28:48 +0000 sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32' Packing 'struct ffclock_estimate32', in absence of substitution of 'ffcounter' (some 'uint64_t') by a 32-bit compatible type, was necessary on amd64 since 'uint64_t' is 8-byte aligned, which leaves a padding gap of 4-byte between fields 'update_time' and 'update_ffcount'. This gap does not exist on i386 (or amd64 32-bit mode), as 'uint64_t' there is only 4-byte aligned. Change the type of the 'update_ffcount' and 'leapsec_next' fields to the recently introduced 'freebsd32_uint64_t', and adapt copy-in and copy-out accordingly. Using `CP()` previously worked due to the '__packed__' attribute. Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55282 --- sys/compat/freebsd32/freebsd32.h | 12 +++++------- sys/compat/freebsd32/freebsd32_misc.c | 8 ++++---- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h index 5210ce55b228..1436b630689f 100644 --- a/sys/compat/freebsd32/freebsd32.h +++ b/sys/compat/freebsd32/freebsd32.h @@ -60,8 +60,8 @@ struct bintime32 { struct ffclock_estimate32 { struct bintime32 update_time; - ffcounter update_ffcount; - ffcounter leapsec_next; + freebsd32_uint64_t update_ffcount; + freebsd32_uint64_t leapsec_next; freebsd32_uint64_t period; uint32_t errb_abs; uint32_t errb_rate; @@ -69,11 +69,9 @@ struct ffclock_estimate32 { int16_t leapsec_total; int8_t leapsec; int8_t _pad; -} -#if defined(__amd64__) -__attribute__((packed)) -#endif -; +}; +_Static_assert(sizeof(ffcounter) == sizeof(freebsd32_uint64_t), + "'ffcounter' size discrepancy'"); #if defined(__amd64__) || defined(__i386__) _Static_assert(sizeof(struct ffclock_estimate32) == 52, "ffclock_estimate32 size"); #else diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 457e599c22d2..1064987c3abf 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -4147,8 +4147,8 @@ freebsd32_ffclock_setestimate(struct thread *td, CP(cest.update_time, cest32.update_time, sec); memcpy(&cest.update_time.frac, &cest32.update_time.frac, sizeof(uint64_t)); - CP(cest, cest32, update_ffcount); - CP(cest, cest32, leapsec_next); + FU64_CP(cest, cest32, update_ffcount); + FU64_CP(cest, cest32, leapsec_next); FU64_CP(cest, cest32, period); CP(cest, cest32, errb_abs); CP(cest, cest32, errb_rate); @@ -4177,8 +4177,8 @@ freebsd32_ffclock_getestimate(struct thread *td, CP(cest32.update_time, cest.update_time, sec); memcpy(&cest32.update_time.frac, &cest.update_time.frac, sizeof(uint64_t)); - CP(cest32, cest, update_ffcount); - CP(cest32, cest, leapsec_next); + FU64_CP(cest32, cest, update_ffcount); + FU64_CP(cest32, cest, leapsec_next); FU64_CP(cest32, cest, period); CP(cest32, cest, errb_abs); CP(cest32, cest, errb_rate);