android_kernel_oneplus_msm8998/arch
James Morse 71710cd35a arm64: suspend: Reconfigure PSTATE after resume from idle
commit d08544127d9fb4505635e3cb6871fd50a42947bd upstream.

The suspend/resume path in kernel/sleep.S, as used by cpu-idle, does not
save/restore PSTATE. As a result of this cpufeatures that were detected
and have bits in PSTATE get lost when we resume from idle.

UAO gets set appropriately on the next context switch. PAN will be
re-enabled next time we return from user-space, but on a preemptible
kernel we may run work accessing user space before this point.

Add code to re-enable theses two features in __cpu_suspend_exit().
We re-use uao_thread_switch() passing current.

Signed-off-by: James Morse <james.morse@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
[Removed UAO hooks and commit-message references: this feature is not
 present in v4.4]
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-12-08 07:15:25 +01:00
..
alpha alpha: fix copy_from_user() 2016-09-24 10:07:45 +02:00
arc ARC: Don't use "+l" inline asm constraint 2016-12-08 07:15:24 +01:00
arm ARM: 8584/1: floppy: avoid gcc-6 warning 2016-11-10 16:36:36 +01:00
arm64 arm64: suspend: Reconfigure PSTATE after resume from idle 2016-12-08 07:15:25 +01:00
avr32 avr32: off by one in at32_init_pio() 2016-10-07 15:23:45 +02:00
blackfin net: smc91x: fix SMC accesses 2016-09-30 10:18:37 +02:00
c6x
cris cris: buggered copy_from_user/copy_to_user/clear_user 2016-09-24 10:07:44 +02:00
frv frv: fix clear_user() 2016-09-24 10:07:44 +02:00
h8300 h8300: fix syscall restarting 2016-11-10 16:36:32 +01:00
hexagon hexagon: fix strncpy_from_user() error return 2016-09-24 10:07:44 +02:00
ia64 ia64: copy_from_user() should zero the destination on access_ok() failure 2016-09-24 10:07:46 +02:00
m32r m32r: fix __get_user() 2016-09-24 10:07:43 +02:00
m68k m68k: Wire up mlock2 2015-11-22 11:35:26 +01:00
metag metag: Only define atomic_dec_if_positive conditionally 2016-10-28 03:01:31 -04:00
microblaze microblaze: fix copy_from_user() 2016-09-24 10:07:43 +02:00
mips KVM: MIPS: Precalculate MMIO load resume PC 2016-11-18 10:48:36 +01:00
mn10300 mn10300: copy_from_user() should zero on access_ok() failure... 2016-09-24 10:07:45 +02:00
nios2 nios2: copy_from_user() should zero the tail of destination 2016-09-24 10:07:45 +02:00
openrisc openrisc: fix the fix of copy_from_user() 2016-09-24 10:07:46 +02:00
parisc parisc: Also flush data TLB in flush_icache_page_asm 2016-12-02 09:09:01 +01:00
powerpc powerpc/ptrace: Fix out of bounds array access warning 2016-11-10 16:36:36 +01:00
s390 s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment 2016-11-18 10:48:34 +01:00
score score: fix copy_from_user() and friends 2016-09-24 10:07:44 +02:00
sh sh: fix copy_from_user() 2016-09-24 10:07:44 +02:00
sparc sparc64: Delete now unused user copy fixup functions. 2016-11-21 10:06:42 +01:00
tile tile: avoid using clocksource_cyc2ns with absolute cycle count 2016-12-02 09:09:01 +01:00
um um: Don't discard .text.exit section 2016-09-07 08:32:38 +02:00
unicore32 pwm: Changes for v4.4-rc1 2015-11-11 09:16:10 -08:00
x86 x86/traps: Ignore high word of regs->cs in early_fixup_exception() 2016-12-08 07:15:24 +01:00
xtensa xtensa: clear all DBREAKC registers on start 2016-04-12 09:08:55 -07:00
.gitignore
Kconfig