diff options
author | Barry Song <barry.song@analog.com> | 2010-06-29 08:43:38 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-10-22 03:48:54 -0400 |
commit | 41c3e3346ab8e5caf9e76395bd812fac884ad371 (patch) | |
tree | c633e8703e010f71d34dc7065ea136c8f4b5d069 /arch/blackfin/kernel | |
parent | 027285e86fca48f1af3ed8b86a5c03453766f5ca (diff) | |
download | op-kernel-dev-41c3e3346ab8e5caf9e76395bd812fac884ad371.zip op-kernel-dev-41c3e3346ab8e5caf9e76395bd812fac884ad371.tar.gz |
Blackfin: access_ok: permit L1 stack
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>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r-- | arch/blackfin/kernel/process.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index c86a3ed..cd0c090 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c @@ -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; |