From nobody Tue Apr 08 13:40:53 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 4ZX6fY5zT1z5sQHs; Tue, 08 Apr 2025 13: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZX6fY37JYz3D3T; Tue, 08 Apr 2025 13: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=1744119653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ojOk/OEWhaBi+FcwZRYLsxoT4mfmLL3Y/qTDSBio1jU=; b=dT193Wl27djPGg+w74hKuCdx5JlhyJoKGZqGvrmx6hQyjk1gdrwqUVQDrxFDpXzO+M8Odk 9oCPjbAMlWPl8Ma5D6NfXhJjg9awHsF53qy8KztBm6u0idwk3bn+D5QHYiT43Xhh3PF64E teS/6zx19ID/9v2g3+4NHpuK9xW+BTvmnq26mPV0UT1efelacdGdvaqRBAO9mKvjTxUKB3 byYx9F2QGkSO8i6bgFhxNhx7keuHkPlpVApxHJYTXqsG7gM0sMMfIITEAbzFcSKl+L4VIl aD2Y7bv4Ait21zNFVoCW0XulbemK2bVg7mT2Nzr+UhLWQJ2JrnmSYSPqjjrIVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744119653; a=rsa-sha256; cv=none; b=Dr4t1XelKBuW5ibA45Ods7YZkg0mncrEIXJGgE41n1CJVG8E86Qd2gbNgzxsIynxBSEj58 9kY76xn+cjWiwd1MG8kkM3j0uETxTo9fDKYIekNUTzRJ+GSX3yQUC6+T4MVFS3whDWo2y7 yePpE7t0z5JlCI7SSWWdRsw31ncXJEj8HskQbeamEZMWp19jnhLsmtz1Y4VHyTBU3ev4rt qnIGeZ+Lsq632StNBt/+5uFbzPoo/8C0i011xqWFIR33KfMR5n5sD3xo1b4Xr/yKPzLWSA nLn9wDEJFIoM5l3jr1vfsanVyOWMULscmSf0hnufpvdswkAjeF5KxFJHlFXSaw== 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=1744119653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ojOk/OEWhaBi+FcwZRYLsxoT4mfmLL3Y/qTDSBio1jU=; b=Fs8jntAfCh675wj1xPFvzT++4089vMq6FsJOm7zMGTQT8aYsLDvjQXDqmHvdoU/Q+zB6fL XChaytSRWsywLz1ADcsKJpxgTqJdDBAu+pN0qw2JGjriYTEpysIyLPvXkOl7Cl1l/gD2cZ wFqLj2Ifxc8Jo4E5p7irN9Ufw1t65pdvXqtVXswntPQu1ZfaIgbcEywRSuPv0xK6PxcEjd emQZOUNI3CLbQiasZvJm5VRBDl5VGVJcDF9ZbRZTgotxFIc6mhChDv403SUnl3T3UdnSen W72+4FT2XJDdsifLE6q1OhOl5wjkueFTVrNAFBI2kT0qD6Z+UkU3GyVrmK1f8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZX6fY2SphzZgw; Tue, 08 Apr 2025 13:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 538Dersa032134; Tue, 8 Apr 2025 13:40:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 538Derq4032131; Tue, 8 Apr 2025 13:40:53 GMT (envelope-from git) Date: Tue, 8 Apr 2025 13:40:53 GMT Message-Id: <202504081340.538Derq4032131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 8c9b142b3832 - stable/14 - smbios: Apply the v2.1's length fixup only on a 32-bit entry point 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: 8c9b142b38326ef0e4a791564d5c95fb6c5f1da9 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8c9b142b38326ef0e4a791564d5c95fb6c5f1da9 commit 8c9b142b38326ef0e4a791564d5c95fb6c5f1da9 Author: Olivier Certner AuthorDate: 2025-03-03 09:16:14 +0000 Commit: Olivier Certner CommitDate: 2025-04-08 13:38:24 +0000 smbios: Apply the v2.1's length fixup only on a 32-bit entry point Only allow the length tolerance (0x1e instead of 0x1f) for a 32-bit entry point, as there was no 64-bit entry point in the erroneous SMBIOS v2.1 standard and assigning the length with 0x1f does not make sense in this case. While here, fix accessing the major/minor versions via 'eps' even in the 64-bit entry point case (not causing any practical problem thus far as the entry point length is greater than any SMBIOS revisions in existence, so the comparison guarding the fixup would not pass). MFC after: 2 weeks Sponsored by: The FreeBSD Foundation (cherry picked from commit f6cbd6b6d2ccd672e4807128ce0d07db333d4335) --- sys/dev/smbios/smbios.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c index f87d2cfee403..f2c1dffad033 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -142,14 +142,13 @@ smbios_identify (driver_t *driver, device_t parent) } } if (length != map_size) { - u_int8_t major, minor; - - major = eps->major_version; - minor = eps->minor_version; - - /* SMBIOS v2.1 implementation might use 0x1e. */ - if (length == 0x1e && major == 2 && minor == 1) - length = 0x1f; + /* + * SMBIOS v2.1 implementations might use 0x1e because the + * standard was then erroneous. + */ + if (length == 0x1e && map_size == sizeof(*eps) && + eps->major_version == 2 && eps->minor_version == 1) + length = map_size; else goto unmap_return; }