From nobody Fri Dec 19 09:19:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dXhmj2R3gz6LBH0 for ; Fri, 19 Dec 2025 09:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dXhmh5Fb5z44dt for ; Fri, 19 Dec 2025 09:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766135940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ypnvNt+4ZJ3nquvUpsG9j49MyKTEHFDgS+cUKC3o8Q=; b=jFSI0A6wtrPA2NODheNJw6WkcAfdj+FQWGbNlgOIdodE78eeSTTeddlJVCEaZZAlZubtOV IvzehGhFty0f7IWFFIr7aI2MY1rnxA0epJdJBcHivAOlRYv6uByc093TG7/CPfMcgRqCp2 EWCKbqUqNVXp9etjMiuYoLvWb4Z0S5YiEqvjyBwNmYcZByXr2USP/r9B3qx4Dqz9ymsQvN DWeGXfOxikFCz5UVh3hwEKBXTDWL1he43nS8cE5m+/HpFFyHNVlfoKu+fKmVX62S0inTyU XTIFg97tFomi38W5VWV+w0tzqXJTfDPi/M8/cUH6zmasL+ipoveqzEVySFhK+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766135940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ypnvNt+4ZJ3nquvUpsG9j49MyKTEHFDgS+cUKC3o8Q=; b=YcqOxkWxmeU+nNh/Pd+3Cc6AyY/zsWrjZdXepwZm0yMPZEW5sJBwOyeOBYYQG3/G7y3r+A tOs3MMQMUuko/rTTL5Ak2NCNGfRVlwBaKKqRPtnUxX62aJbr6u0krNakef/tU2FvCGj653 rZ48i1Gr1lHqafqc/Qt5IduU8mSquE9aVEW7aK5wiXUl2NuUeqc1V2TGOPfi0Q1I3E6uVr IrlWjbkwxi1v9Pwl2OcIfRCosbwXbkny9B1ViF+lUsZ9NYwAWDKHXBgCvIKECCpzdLsmlT 4BeWPeX9SE5ZmBOkyOsmXvs4+tyAqDpON8RcvCZ2cgAa7CxlhriBKF1iNW4SBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766135940; a=rsa-sha256; cv=none; b=nhRXqf017B1wd+J4KVUbIujbEVlE1FdOxAVq3YQ22WJAqbl91Om9KSfNyuSz6h+r3XvESb Afg6Fdzad3Y1VeBKOi60Gr2braBLuppjl5Zdea5COBzd4RnKrSfOYXgQqLSCGIR0DVTcz3 5tLZ2nN36WfyDAYuTNW6FRI39uXMiWxQ153B7B+VdeksxXfawQkAocTyQrBZYB7eAhg6T6 A8N2KklL57dLFdNN5YDh2Q9aILApmNS27GEowXZ+d5qoNTw1Lf6hbdlPBMhp6kDWWLm/X8 8snk+8d261E2wSfUePnEfph66aMgGzvV5p/tp6qaRuF+QRmwUrU6feZc5TagPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dXhmh4kdQz1GYV for ; Fri, 19 Dec 2025 09:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cdd4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 19 Dec 2025 09:19:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fecb79a5a83e - stable/14 - libsa: smbios: Detect less-than-64-bit platforms via __SIZEOF_SIZE_T__ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fecb79a5a83e1207c773df113b5d855634809107 Auto-Submitted: auto-generated Date: Fri, 19 Dec 2025 09:19:00 +0000 Message-Id: <69451884.3cdd4.7294bfac@gitrepo.freebsd.org> The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fecb79a5a83e1207c773df113b5d855634809107 commit fecb79a5a83e1207c773df113b5d855634809107 Author: Olivier Certner AuthorDate: 2025-03-11 16:56:20 +0000 Commit: Olivier Certner CommitDate: 2025-12-19 09:16:37 +0000 libsa: smbios: Detect less-than-64-bit platforms via __SIZEOF_SIZE_T__ What we really want here is to know if pointers can refer to 64-bit addresses, regardless of whether they also hold other information (such as capabilities in CHERI). __SIZEOF_SIZE_T__ is probably the closest indication to that piece of information, so let's use it. __ILP32__ wasn't wrong in practice though, as we don't support 32-bit CHERI hardware (and likely never will). Consistently with this change, test whether we can actually address the 64-bit SMBIOS's structure table by converting the end address to 'size_t' and checking whether its value is preserved. Suggested by: jhb (for the __ILP32__ => __SIZEOF_SIZE_T__ part) Reviewed by: jhb, imp MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49318 (cherry picked from commit d3bfcd66409befc2d545e5449963b41c25c369a9) --- stand/libsa/smbios.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 32cd198a9537..73b49a111f89 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -186,14 +186,17 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) */ SMBIOS_GET8(cp, 0x0a) != 0 && smbios_checksum(cp, SMBIOS_GET8(cp, 0x06)) == 0) { -#ifdef __ILP32__ +#if __SIZEOF_SIZE_T__ < 8 uint64_t end_addr; end_addr = SMBIOS_GET64(cp, 0x10) + /* Start address. */ SMBIOS_GET32(cp, 0x0c); /* Maximum size. */ - /* Is the table (or part of it) located above 4G? */ - if (end_addr >= (uint64_t)1 << 32) - /* Can't access it with 32-bit addressing. */ + /* + * Is the table (or part of it) located above what we + * can address? + */ + if ((size_t)end_addr != end_addr) + /* Yes, give it up. */ continue; #endif smbios.is_64bit_ep = 1;