fusioncompute v100r006c10sp105 主机异常重启
问题描述
fusioncompute v100r006c10sp105 主机异常重启
告警信息
无
处理过程
- 查看主机panic的堆栈信息,使用加密狗等人机交互设备在虚拟机开关机时走了HID设备的消息上报流程。HID设备相当于一个人机交互的设备,需要上报和下发进行数据交换和通信。
主机panic的原因是地址FFFF880C11DE02B8为无效地址。
2.查看对应代码,是在如下图红框中代码执行时出的问题,设备上报的value[n]过大,导致了usage数组越界。
解析出设备上报的field结构,根据如下图可以解析出usage数组长度为7,min值为0,max值为255,value[n]值为234,由于数组usage长度只有7,所以必然会越界。
根据USBHID协议说明,正常来说数组usage的长度就是max-min+1的差值。在访问usage数组之前会先判断value[n]值是否介于min和max值之间,只要value[n]值介于min和max值之间,访问usage数组是不会越界的。
而客户使用的加密狗软件上报上来的usage数组长度只有7,但是minimum 和maximum的值却是0和255,显然超过了7,只要硬件上报上来的value[n]值超过7,则必然会导致越界访问
3.根据之前见过的情况,请排查主机上是否有加密狗等人机交互的usb设备,以及使用方式(比如直通)。
如为加密狗则:
从support兼容性网站上查询兼容的加密狗外设,只显示兼容阿拉丁的加密狗,说明该加密狗是进行过验证的,建议使用该种加密狗设备。
根因
USB人机交互设备在上报流程中上报的最大usage只有7,而在虚拟机关机时实际上报上来的value的值过大,导致数组越界主机panic。这些数据都是加密狗报上来的,按照USB HID协议是不合理的。
解决方案
1.察看主机上插入的USB设备。
2.联系该USB人家交互设备的厂商咨询该设备是否支持SUSE 11SP3操作系统,是否支持该种使用方法。
建议与总结
建议使用兼容外设
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/2517.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论