altos/stm: Fix stack validation code
[fw/altos] / src / stm / ao_arch_funcs.h
index 8f4f6cd4ce9e70658a64a352ab81b7a3ca015df2..083f7a2beb7ad394e57c200d9b1f13dd2ff5f020 100644 (file)
@@ -562,8 +562,8 @@ ao_validate_cur_stack(void)
 
        asm("mrs %0,psp" : "=&r" (psp));
        if (ao_cur_task &&
-           psp <= ao_cur_task->stack &&
-           psp >= ao_cur_task->stack - 256)
+           (psp <= ao_cur_task->stack8 ||
+            psp >= ao_cur_task->stack8 + AO_STACK_SIZE))
                ao_panic(AO_PANIC_STACK);
 }
 #endif