|
@@ -315,15 +315,12 @@ static void tls_thread_switch(struct task_struct *next)
|
|
|
/* Restore the UAO state depending on next's addr_limit */
|
|
|
static void uao_thread_switch(struct task_struct *next)
|
|
|
{
|
|
|
- unsigned long next_sp = next->thread.cpu_context.sp;
|
|
|
-
|
|
|
- if (IS_ENABLED(CONFIG_ARM64_UAO) &&
|
|
|
- get_thread_info(next_sp)->addr_limit == KERNEL_DS)
|
|
|
- asm(ALTERNATIVE("nop", SET_PSTATE_UAO(1), ARM64_HAS_UAO,
|
|
|
- CONFIG_ARM64_UAO));
|
|
|
- else
|
|
|
- asm(ALTERNATIVE("nop", SET_PSTATE_UAO(0), ARM64_HAS_UAO,
|
|
|
- CONFIG_ARM64_UAO));
|
|
|
+ if (IS_ENABLED(CONFIG_ARM64_UAO)) {
|
|
|
+ if (task_thread_info(next)->addr_limit == KERNEL_DS)
|
|
|
+ asm(ALTERNATIVE("nop", SET_PSTATE_UAO(1), ARM64_HAS_UAO));
|
|
|
+ else
|
|
|
+ asm(ALTERNATIVE("nop", SET_PSTATE_UAO(0), ARM64_HAS_UAO));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|