Skip to content

Commit

Permalink
platform: set default bmc_platform
Browse files Browse the repository at this point in the history
The bmc_platform pointer is set to NULL by default and on non-AMI BMC
platforms. As a result a few places in hw/ipmi/ipmi-sel.c will blindly
dereference a NULL pointer.

This patch sets the default value for bmc_platform to generic_bmc to
avoid this.

Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
  • Loading branch information
oohal authored and stewartsmith committed Jan 16, 2017
1 parent 3f7b42a commit e0f184b
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion core/platform.c
Expand Up @@ -28,7 +28,6 @@

bool manufacturing_mode = false;
struct platform platform;
const struct bmc_platform *bmc_platform = NULL;

DEFINE_LOG_ENTRY(OPAL_RC_ABNORMAL_REBOOT, OPAL_PLATFORM_ERR_EVT, OPAL_CEC,
OPAL_CEC_HARDWARE, OPAL_PREDICTIVE_ERR_FAULT_RECTIFY_REBOOT,
Expand Down Expand Up @@ -143,10 +142,15 @@ static struct platform generic_platform = {
.cec_power_down = generic_cec_power_down,
};

const struct bmc_platform *bmc_platform = &generic_bmc;

void set_bmc_platform(const struct bmc_platform *bmc)
{
if (bmc)
prlog(PR_NOTICE, "PLAT: Detected BMC platform %s\n", bmc->name);
else
bmc = &generic_bmc;

bmc_platform = bmc;
}

Expand Down

0 comments on commit e0f184b

Please sign in to comment.