Fix ipmid crash issue caused by null pointer in ipmiStorageGetSDR

When BIOS get fru information from BMC via IPMI command,
requested sdr may be not exist at some special case.
IPMD should handle such case and avoid null pointer is used.
Impact issues are like below:
1. Product name cannot be shown correctly in BIOS setup page.
2. frusdr.efi tool cannot get fru information in efi shell.
3. ipmid service is crashed when AC cycle or run frusdr.efi tool.

Tested:
ipmid service is working well when AC cycle and run frusdr.efi tool.
Product name could be shown correctly in BIOS setup page.
frusdr.efi tool could get correct fru information in efi shell.

Change-Id: Ie02156d80398a365311f3ba0b45ac2a086c84c66
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
1 file changed
tree: 2f8d8698ea0f5244f8173fea506d5dc4c9ead170
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  16. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing