|
@@ -27,6 +27,7 @@
|
|
|
#include <asm/fixed_code.h>
|
|
|
#include <asm/cacheflush.h>
|
|
|
#include <asm/mem_map.h>
|
|
|
+#include <asm/mmu_context.h>
|
|
|
|
|
|
/*
|
|
|
* does not yet catch signals sent when the child dies.
|
|
@@ -135,6 +136,13 @@ static inline int is_user_addr_valid(struct task_struct *child,
|
|
|
if (start >= FIXED_CODE_START && start + len < FIXED_CODE_END)
|
|
|
return 0;
|
|
|
|
|
|
+#ifdef CONFIG_APP_STACK_L1
|
|
|
+ if (child->mm->context.l1_stack_save)
|
|
|
+ if (start >= (unsigned long)l1_stack_base &&
|
|
|
+ start + len < (unsigned long)l1_stack_base + l1_stack_len)
|
|
|
+ return 0;
|
|
|
+#endif
|
|
|
+
|
|
|
return -EIO;
|
|
|
}
|
|
|
|