android_kernel_motorola_sm6375/drivers/cpuidle
Repository files (latest commit first)
Filename Latest commit message Latest commit date
rogercl.yang c37c28d9aa ANDROID: adding __nocfi to cpuidle_enter_state
Background:
  When CPU is going to idle state, it would inform RCU that
current CPU is entering idle through rcu_idle_enter(),
and RCU will ignore read-side critical sections of this CPU.
However, there is CFI check mechanism inside idle flow and
calls rcu_read_lock(), so "rcu_read_lock() used illegally while idle"
in rcu_read_lock() will be triggered because rcu_idle_enter()
was already called before.

  Beside, the pointer of rcu_dereference() might be invalid
due to the RCU read-side critical sections will be ignoring in
this going idle CPU, it might cause problems like:
access the wrong data/address, kernel exception...

Based on above description:
  We will add __nocfi to cpuidle_enter_state to avoid
“rcu_read_lock() used illegally while idle!”
and avoid the usage of invalid pointer of rcu_dereference()
in this situation.

Bug: 169017431
Change-Id: I8bbe25704e18cfde351a8f4277dd4b44b07421f5
Signed-off-by: rogercl.yang <rogercl.yang@mediatek.com>
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
2020-10-08 12:58:32 +00:00
..
governors cpuidle: teo: Avoid using "early hits" incorrectly 2020-02-05 21:22:52 +00:00
coupled.c
cpuidle-arm.c ARM: cpuidle: Remove overzealous error logging 2019-08-09 17:51:39 +01:00
cpuidle-at91.c
cpuidle-big_little.c
cpuidle-calxeda.c
cpuidle-clps711x.c
cpuidle-cps.c
cpuidle-exynos.c
cpuidle-haltpoll.c cpuidle: haltpoll: Take 'idle=' override into account 2019-10-22 11:43:17 +02:00
cpuidle-kirkwood.c
cpuidle-mvebu-v7.c
cpuidle-powernv.c
cpuidle-psci.c PSCI: cpuidle: Refactor CPU suspend power_state parameter handling 2019-08-09 17:51:39 +01:00
cpuidle-pseries.c
cpuidle-ux500.c
cpuidle-zynq.c
cpuidle.c ANDROID: adding __nocfi to cpuidle_enter_state 2020-10-08 12:58:32 +00:00
cpuidle.h cpuidle: allow governor switch on cpuidle_register_driver() 2019-09-11 17:36:30 +02:00
driver.c cpuidle: Do not unset the driver if it is there already 2019-12-17 19:56:20 +01:00
dt_idle_states.c
dt_idle_states.h
governor.c cpuidle: allow governor switch on cpuidle_register_driver() 2019-09-11 17:36:30 +02:00
Kconfig cpuidle: add haltpoll governor 2019-07-30 17:27:37 +02:00
Kconfig.arm ARM: psci: cpuidle: Enable PSCI CPUidle driver 2019-08-09 17:51:39 +01:00
Kconfig.mips
Kconfig.powerpc
Makefile Power management updates for 5.4-rc1 2019-09-17 19:15:14 -07:00
poll_state.c
sysfs.c cpuidle: Fix three reference count leaks 2020-06-22 09:31:10 +02:00