曙光服务器ipmtool查看服务器信息,执行ipmitool fru命令失败

经过定位发现函数的调用栈如下

main --> ipmi_main --> ipmi_cmd_run --> ipmi_fru_main --> ipmi_fru_print_all --> ipmi_fru_print

出错的原因是:

ipmi_fru_print 函数中走入了有问题分支,如下:

if (fru->dev_type != 0x10 &&

(fru->dev_type_modifier != 0x02 ||

fru->dev_type < 0x08 || fru->dev_type > 0x0f))

return -1;

fru参数是通过ipmi_fru_print_all函数中调用ipmi_sdr_get_record获取的。

代码如下:

/* Print the FRU from the SDR locator record. */

fru = (struct sdr_record_fru_locator *)

ipmi_sdr_get_record(intf, header, itr);

if (fru == NULL || !fru->logical) {

free_n(&fru);

continue;

}

rc = ipmi_fru_print(intf, fru);

free_n(&fru);

ipmi_sdr_get_record是调用BMC硬件的接口,因此需要协调硬件相关的人投入分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值