linux_dsm_epyc7002/drivers/cpuidle
Li, Fei 41dc750ea6 cpuidle: check dev before usage in cpuidle_use_deepest_state()
In case of there is no cpuidle devices registered, dev will be null, and
panic will be triggered like below;
In this patch, add checking of dev before usage, like that done in
cpuidle_idle_call.

Panic without fix:
[  184.961328] BUG: unable to handle kernel NULL pointer dereference at
  (null)
[  184.961328] IP: cpuidle_use_deepest_state+0x30/0x60
...
[  184.961328]  play_idle+0x8d/0x210
[  184.961328]  ? __schedule+0x359/0x8e0
[  184.961328]  ? _raw_spin_unlock_irqrestore+0x28/0x50
[  184.961328]  ? kthread_queue_delayed_work+0x41/0x80
[  184.961328]  clamp_idle_injection_func+0x64/0x1e0

Fixes: bb8313b603 (cpuidle: Allow enforcing deepest idle state selection)
Signed-off-by: Li, Fei <fei.li@intel.com>
Tested-by: Shi, Feng <fengx.shi@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: 4.10+ <stable@vger.kernel.org> # 4.10+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-05-01 23:17:20 +02:00
..
governors Merge branch 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-03-03 10:16:38 -08:00
coupled.c cpuidle/coupled: Convert to hotplug state machine 2016-09-06 18:30:24 +02:00
cpuidle-arm.c Merge branches 'pm-cpuidle', 'pm-opp' and 'pm-avs' 2016-10-02 01:43:16 +02:00
cpuidle-at91.c
cpuidle-big_little.c
cpuidle-calxeda.c
cpuidle-clps711x.c
cpuidle-cps.c cpuidle: cpuidle-cps: remove unused variable 2017-04-19 23:04:54 +02:00
cpuidle-exynos.c
cpuidle-kirkwood.c
cpuidle-mvebu-v7.c
cpuidle-powernv.c cpuidle: powernv: Avoid a branch in the core snooze_loop() loop 2017-04-19 23:17:19 +02:00
cpuidle-pseries.c cpuidle/pseries: Convert to hotplug state machine 2016-09-06 18:30:24 +02:00
cpuidle-ux500.c
cpuidle-zynq.c
cpuidle.c cpuidle: check dev before usage in cpuidle_use_deepest_state() 2017-05-01 23:17:20 +02:00
cpuidle.h
driver.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/idle.h> 2017-03-02 08:42:26 +01:00
dt_idle_states.c cpuidle: dt: assign ->enter_freeze to same as ->enter callback function 2016-11-23 02:03:11 +01:00
dt_idle_states.h
governor.c cpuidle: governors: Remove remaining old module code 2016-10-21 14:49:51 +02:00
Kconfig
Kconfig.arm
Kconfig.mips cpuidle: cpuidle-cps: Enable use with MIPSr6 CPUs. 2016-10-04 16:13:57 +02:00
Kconfig.powerpc
Makefile
sysfs.c cpuidle: Validate cpu_dev in cpuidle_add_sysfs() 2017-03-21 22:26:37 +01:00