402 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

【OLK-5.10】BUG: sleeping function called from invalid context at include/linux/percpu-rwsem.h

已完成
任务
创建于  
2023-08-07 10:56

【严重程度】 一般
【特性】 arm64架构/mpam
【重现类型】 有条件必然重现
【定位分析】


该问题由<a class="ql-normal-link" href="


通过在当时复现的代码版本(可以选用de11d3a28cbdc (tag: 5.10.0-29.0.0) arm64: mm: support setting page attributes for debugging作为基线)增加以下代码可以构造必先用例:

diff --git a/arch/arm64/kernel/mpam/mpam_device.c b/arch/arm64/kernel/mpam/mpam_device.c

index f8840274b902f..794dee83337f3 100644

--- a/arch/arm64/kernel/mpam/mpam_device.c

+++ b/arch/arm64/kernel/mpam/mpam_device.c

@@ -529,6 +529,7 @@ static void mpam_disable_irqs(void)

}

}


+#include <linux/delay.h>

/*

* Enable mpam once all devices have been probed.

* Scheduled by mpam_discovery_complete() once all devices have been created.

@@ -596,6 +597,7 @@ static void __init mpam_enable(struct work_struct *work)

mpam_cpuhp_state = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,

"mpam:online", mpam_cpu_online,

mpam_cpu_offline);

+ msleep(10000);

if (mpam_cpuhp_state <= 0)

pr_err("Failed to re-register 'dyn' cpuhp callbacks");

mutex_unlock(&mpam_cpuhp_lock);


复现现场:

因为当前mpam_enable已经被改成非init类型,因此只需要将原来的补丁回退即可。


评论 (1)

hulk-robot 创建了任务

Hi zhixiuzhou, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers.

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助