Blackfin: access_ok: permit L1 stack
authorBarry Song <barry.song@analog.com>
Tue, 29 Jun 2010 08:43:38 +0000 (08:43 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 22 Oct 2010 07:48:54 +0000 (03:48 -0400)
When apps run with their stack in L1, some system calls might be made
where a buffer is in the stack as an argument.  So make sure the core
Blackfin access code does not reject this memory location.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/process.c

index c86a3ed..cd0c090 100644 (file)
@@ -493,6 +493,11 @@ int _access_ok(unsigned long addr, unsigned long size)
                return 1;
 #endif
 
+#ifndef CONFIG_EXCEPTION_L1_SCRATCH
+       if (in_mem_const(addr, size, (unsigned long)l1_stack_base, l1_stack_len))
+               return 1;
+#endif
+
        aret = in_async(addr, size);
        if (aret < 2)
                return aret;