mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-06 03:45:24 -04:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Possible unsafe locking scenario:
CPU0
----
lock(cpu_hotplug_lock.rw_sem);
lock(cpu_hotplug_lock.rw_sem);
*** DEADLOCK ***
Below code under start_hwmon may cause this recursive locking.
get_online_cpus();
for_each_cpu(cpu, cpu_possible_mask) {
if (!cpumask_test_cpu(cpu, cpu_online_mask))
per_cpu(cpu_is_hp, cpu) = true;
}
ret = memlat_event_cpu_hp_init();
put_online_cpus();
get_online_cpus() acquires cpu_hotplug_lock.rw_sem lock.
Then memlat_event_cpu_hp_init() -> __cpuhp_setup_state() tries
to acquire the same lock again.
Use cpuslocked version of __cpuhp_setup_state() to avoid this warning.
Change-Id: Ied9fe53d02c74816f38c1efe954cea91f9831cc7
Signed-off-by: Abhishek Shah <abhshah@codeaurora.org>
|
||
| .. | ||
| event | ||
| arm-memlat-mon.c | ||
| bimc-bwmon.c | ||
| devfreq-event.c | ||
| devfreq.c | ||
| devfreq_icc.c | ||
| devfreq_qcom_qoslat.c | ||
| devfreq_simple_dev.c | ||
| exynos-bus.c | ||
| governor.h | ||
| governor_bw_hwmon.c | ||
| governor_bw_hwmon.h | ||
| governor_cache_hwmon.c | ||
| governor_cache_hwmon.h | ||
| governor_cpufreq.c | ||
| governor_memlat.c | ||
| governor_memlat.h | ||
| governor_passive.c | ||
| governor_performance.c | ||
| governor_powersave.c | ||
| governor_simpleondemand.c | ||
| governor_userspace.c | ||
| Kconfig | ||
| Makefile | ||
| rk3399_dmc.c | ||
| tegra20-devfreq.c | ||
| tegra30-devfreq.c | ||