diff options
author | Qi Liu <liuqi115@huawei.com> | 2020-07-17 16:49:23 +0800 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-07-17 10:51:44 +0100 |
commit | f32ed8eb0e3f0d0ef4ddb854554d60ca5863a9f9 (patch) | |
tree | 455b30ad8a4efffe84e472e9036fcd319eab0f82 /drivers/perf/arm_smmuv3_pmu.c | |
parent | bd024e82e4cd95c7f1a475a55f99871936c2b2db (diff) | |
download | lwn-f32ed8eb0e3f0d0ef4ddb854554d60ca5863a9f9.tar.gz lwn-f32ed8eb0e3f0d0ef4ddb854554d60ca5863a9f9.zip |
drivers/perf: Prevent forced unbinding of PMU drivers
Forcefully unbinding PMU drivers during perf sampling will lead to
a kernel panic, because the perf upper-layer framework call a NULL
pointer in this situation.
To solve this issue, "suppress_bind_attrs" should be set to true, so
that bind/unbind can be disabled via sysfs and prevent unbinding PMU
drivers during perf sampling.
Signed-off-by: Qi Liu <liuqi115@huawei.com>
Reviewed-by: John Garry <john.garry@huawei.com>
Link: https://lore.kernel.org/r/1594975763-32966-1-git-send-email-liuqi115@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/perf/arm_smmuv3_pmu.c')
-rw-r--r-- | drivers/perf/arm_smmuv3_pmu.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c index 90caba56dfbc..4cdb35d166ac 100644 --- a/drivers/perf/arm_smmuv3_pmu.c +++ b/drivers/perf/arm_smmuv3_pmu.c @@ -860,6 +860,7 @@ static void smmu_pmu_shutdown(struct platform_device *pdev) static struct platform_driver smmu_pmu_driver = { .driver = { .name = "arm-smmu-v3-pmcg", + .suppress_bind_attrs = true, }, .probe = smmu_pmu_probe, .remove = smmu_pmu_remove, |