arch: arm: userspace: no PSPLIM clearing in z_arm_do_syscall() enter

In this commit we remove the PSPLIM clearing when entering
z_arm_do_syscall(), since we want PSPLIM to keep guarding
the user thread stack, until the thread has switched to its
privileged stack, for executing the system call.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
This commit is contained in:
Ioannis Glaropoulos 2020-02-11 22:15:14 +01:00 committed by Andrew Boie
commit 6494658983

View file

@ -263,13 +263,6 @@ SECTION_FUNC(TEXT, z_arm_do_syscall)
* At this point PSPLIM is already configured to guard the default (user) * At this point PSPLIM is already configured to guard the default (user)
* stack, so pushing to the default thread's stack is safe. * stack, so pushing to the default thread's stack is safe.
*/ */
#if defined(CONFIG_BUILTIN_STACK_GUARD)
/* clear stack pointer limit before setting the PSP */
mov ip, #0
msr PSPLIM, ip
#endif
#if defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE) #if defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE)
/* save current stack pointer (user stack) */ /* save current stack pointer (user stack) */
mov ip, sp mov ip, sp
@ -551,4 +544,3 @@ z_arm_user_string_nlen_fixup:
add sp, #12 add sp, #12
pop {r4, r5, pc} pop {r4, r5, pc}