From nobody Fri Mar 07 16:44:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z8XFP4zx9z5pZLc; Fri, 07 Mar 2025 16:44: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z8XFP2zjgz44GG; Fri, 07 Mar 2025 16:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741365881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=toDrAKpJ8h8w2eP6wJ8n7OW6KRHSTCPptj5U2hvVSZ8=; b=pYiUOb5CmRM8u1DSaJw9o3QU0gBROXZ8KGuRmLHcoovuYTUaji4kqn9n30IzXeyh7EFUpD 9pwziCQ7CPhbNGjWwlSxljSdwasDxBOfFCXhGmnSnD2jvoK0khZi8Zg5p2LM78tEwl3w4M 4B5WV1w0bSHp+H9x8ay2mu8cABqJjqQFbEqj+ps3SDJH03XM0SNiT4XyLMXljtngaBD8yD jvHGjwuxysmgbQ4dFdxOljk+c/2Cm5upfu9qTIAfw1e9tg1SmlcoF66RXeqdqxAqZyqxFs ZqptP642jXYT/seUDhFeBV9PFde1t1yXmRod4z1l4NfrqNtYptIL9WgQD34G0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741365881; a=rsa-sha256; cv=none; b=xk3k0YmcPL8qhPx1IQ2EuiOIm4NPsI+yRl9nJOnwTKh/QfPhU8v9tymvVrh9V3V492Auuq uIhsww28jqo72kQJ4kFTtF/WiPw9Pvj/n7+50lOrSIU+//AWgLgj3nzysEcJ1IQI3M2vsv sv2RfsVbACN5gsZD9j/eth2snoNHqjBrW3B8lpDYZnM3H2pDxnQqbOQ2Qm+D21MvIKrkk0 J17wGLIqTZ4Y6N8DR5D397WDUJXuQGTJylDfE5YrzVEUq5BCBdUq/Gyub7uiAEbhpaTxx0 ZxIPrnwMwap1GvB598p2PL1rT3gGXh50PVItqoIJNjHtspB4veyDaGbAIMeGaw== 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=1741365881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=toDrAKpJ8h8w2eP6wJ8n7OW6KRHSTCPptj5U2hvVSZ8=; b=Yj/tO5HhJyPQHJsnHk+Y0hVg1s22rxC1BmxnMAmjHRltKYZdtAM40aIwL8UmYmLW0Byx90 iVdUmnbjEAf38wn34PuLI3148KN97SdbZQ1Yi+P7/brg6UwM9foTBxYhe90bsjJ+ynAmYX G0OIBjNoXgytZPIw3Etfa18TAytNUckHtJY1ESw3Q3HC+7rrwQpnRJMuvD7hHQERz+fd4S SrQw9Bvswi6lpVITtstzfZHsyzTP152YuKagetQJLf/xmvixYeyBjbj4WU26uM/vY8+Ggd BuU/1fQAcXw4xVU/pqNaaBmff2DTiUwImjBcuB+nkY7lDu25WtVZ4zkjWK9V/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z8XFP2QQQzm34; Fri, 07 Mar 2025 16:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 527GifQC052100; Fri, 7 Mar 2025 16:44:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 527GifVq052097; Fri, 7 Mar 2025 16:44:41 GMT (envelope-from git) Date: Fri, 7 Mar 2025 16:44:41 GMT Message-Id: <202503071644.527GifVq052097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: f6cbd6b6d2cc - main - smbios: Apply the v2.1's length fixup only on a 32-bit entry point List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: f6cbd6b6d2ccd672e4807128ce0d07db333d4335 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f6cbd6b6d2ccd672e4807128ce0d07db333d4335 commit f6cbd6b6d2ccd672e4807128ce0d07db333d4335 Author: Olivier Certner AuthorDate: 2025-03-03 09:16:14 +0000 Commit: Olivier Certner CommitDate: 2025-03-07 16:42:46 +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 --- 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 9e942335e985..733384b3614e 100644 --- a/sys/dev/smbios/smbios.c +++ b/sys/dev/smbios/smbios.c @@ -141,14 +141,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; }