/ 详情

[openEuler-20.03] 使用老式EFI sysfs接口并行访问EFI variable导致crash

Done
Bug member
Opened this issue  
2021-05-10 17:51

【标题描述】[openEuler-20.03] [x86/arm64]使用老式EFI sysfs接口并行访问EFI variable导致crash
【环境信息】
硬件信息:
1) 裸机场景提供出问题的硬件信息;x86( 2288H V5 / 2288H V3)/arm64物理机(TaiShan 2280K)
2) 虚机场景提供虚机XML文件或者配置信息
软件信息:2288
1) OS版本及分支: openEuler-20.03
2) 内核信息 : openEuler-1.0-LTS
3) 发现问题的组件版本信息
如果有特殊组网,请提供网络拓扑图
【问题复现步骤】
具体操作步骤:
注意:开启CONFIG_EFI_VARS, 重编并安装内核,才能通过老式的/sys/firmware/efi/vars/接口访问EFI variable.
x86上执行如下LTP用例:./testcases/kernel/fs/read_all/read_all -d /sys -q -r 3

for cpu in $(seq 0 $(nproc --ignore=1));
do ( taskset -c $cpu \ cat /sys/firmware/efi/vars/KEKDefault*/size & );
done

出现概率(是否必现,概率性错误) 必现
【预期结果】
用例正常PASS
【实际结果】
系统crash
【附件信息】
1.x86环境执行for cpu in $(seq 0 $(nproc --ignore=1)); do ( taskset -c $cpu \ cat /sys/firmware/efi/vars/KEKDefault*/size & ); done 用例产生的concurrent_access_efivars_crash_vmcore-dmesg.txt信息;
2.x86环境执行如下LTP用例./testcases/kernel/fs/read_all/read_all -d /sys -q -r 3 导致crash dmesg信息

Comments (4)

zhengzengkai created缺陷
zhengzengkai set branch to openEuler-1.0-LTS
zhengzengkai set related repository to openEuler/kernel
zhengzengkai added
 
20.03-LTS-SP1
label
展开全部操作日志

Hey zhengzengkai, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot .
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

zhengzengkai changed description
zhengzengkai changed description

回合社区补丁286d3250c9d efi: Fix a race and a buffer overflow while reading efivars via sysfs 解决

zhengzengkai changed description
分支 commit tag
openEuler-1.0-LTS efb5189686421bed477e03a1646f503a26f00104 openEuler-1.0-LTS
kernel-4.19 0715dfeb908acd213ee7e72ea97770f59de0b15c tags/4.19.128-2006.1.0~1327
openEuler-20.09 0715dfeb908acd213ee7e72ea97770f59de0b15c tags/4.19.128-2006.1.0~1327

@zhengzengkai 已经合入,关闭此 issue

成坚 (CHENG Jian) changed issue state from 待办的 to 已完成

Sign in to comment

状态
Assignees
Projects
Milestones
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
确定
参与者(3)
5329419 openeuler ci bot 1578984659