Bug 1421971

Summary: dmidecode has 2 SMBIOS 3.0 entries
Product: Red Hat Enterprise Linux 7 Reporter: wangsy30
Component: dmidecodeAssignee: Petr Oros <poros>
Status: CLOSED ERRATA QA Contact: Mike Gahagan <mgahagan>
Severity: medium Docs Contact:
Priority: high    
Version: 7.3CC: achen35, cuilj2, fchen16, ffutigam, hehy1, jkachuck, mknutson, pneedle
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dmidecode-3.0-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 17:53:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1369100, 1446211    
Attachments:
Description Flags
dmidecode -17
none
0001 patch
none
002 patch
none
dmidecode.spec none

Description wangsy30 2017-02-14 08:58:14 UTC
Created attachment 1250149 [details]
dmidecode -17

Description of problem:
dmidecode has 2 SMBIOS 3.0 entries

Version-Release number of selected component (if applicable):
dmidecode-3.0-2.el7.x86_64

How reproducible:
dmidecode

Steps to Reproduce:
Take type 17 as an example.
1. 4 dimms on board 
2. dmidecode -t 17

Actual results:
Display 4 dimms in SMBIOS 3.0 and 4 dimms in SMBIOS 3.0.0


Expected results:
Display 4 dimms in SMBIOS 3.0

Comment 1 wangsy30 2017-02-14 08:59:17 UTC
Upstream has fixed this issue:

commit 12fbde92a26da61eda9f2ff0ba3c316779163f10
Author: Jean Delvare <jdelvare>
Date:   Fri Jan 20 10:57:12 2017 +0100

    Only decode one DMI table

    Since version 3.0.0 of the SMBIOS specification, there can be
    multiple entry points in memory, pointing to one or two DMI tables.
    If both a 32-bit ("_SM_") entry point and a 64-bit ("_SM3_") entry
    point are present, the specification requires that the latter points
    to a table which is a super-set of the table pointed to by the
    former. Therefore it makes no sense to decode both.

    Per specification, look for a 64-bit ("_SM3_") entry point first, and
    if we can't find any, look for a 32-bit ("_SM_" or "_DMI_") entry
    point.

    This fixes bug #50022:
    https://savannah.nongnu.org/bugs/?50022

Comment 3 wangsy30 2017-02-15 02:17:44 UTC
Created attachment 1250465 [details]
0001 patch

Comment 4 wangsy30 2017-02-15 02:18:29 UTC
Created attachment 1250466 [details]
002 patch

Comment 5 wangsy30 2017-02-15 02:21:21 UTC
Created attachment 1250467 [details]
dmidecode.spec

I uploaded 2 patches and dmidecode.spec. Test is passed on board which has SMBIOS 3.0.

Comment 6 wangsy30 2017-02-15 08:10:20 UTC
Petr Oros,
According CHANGELOG, it seems there is no update after 2015-11-02 , 
I advise add all upstream patches besides the 2 patches I attached.

Comment 7 Petr Oros 2017-02-15 09:42:49 UTC
Hi,
I agree with you. Will do.

Thanks,
-Petr

Comment 10 Mike Gahagan 2017-05-03 19:46:06 UTC
The SMBIOS 3 based system I have access to doesn't seem to reproduce the bug however I can confirm the fix is in dmidecode-3.0-4.el7.

Comment 11 errata-xmlrpc 2017-08-01 17:53:36 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:1858