diff options
author | Bernd Schmidt <bernds_cb1@t-online.de> | 2008-04-24 03:06:15 +0800 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-04-24 03:06:15 +0800 |
commit | d5adb029efad3c51db376d620319abe65d1efc21 (patch) | |
tree | 660caff4c28e904f00a040c0ed4a17d5010c6f20 /include/asm-blackfin | |
parent | 1ebc723cf04b55e7aeeec2e758293575d29a9c2b (diff) | |
download | kernel-crypto-d5adb029efad3c51db376d620319abe65d1efc21.tar.gz kernel-crypto-d5adb029efad3c51db376d620319abe65d1efc21.tar.xz kernel-crypto-d5adb029efad3c51db376d620319abe65d1efc21.zip |
[Blackfin] arch: This allows XIP to work with FD-PIC.
Previously, init failed to do anything meaningful;
it turns out that the reason is that FD-PIC has a readonly data
section which can be located in the XIP filesystem, and various address checks
in the kernel reject such addresses for syscall arguments. Hence, init's
execve ("/bin/sh", ...)
failed with error code EFAULT.
There's room for improvement here: in case people want to have filesystems
on flash rather than in main memory, _access_ok should be modified to
allow this.
This bug fix is also dedicated to Michael Hennerich.
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'include/asm-blackfin')
-rw-r--r-- | include/asm-blackfin/processor.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-blackfin/processor.h b/include/asm-blackfin/processor.h index 1033e5c7601..1c004072461 100644 --- a/include/asm-blackfin/processor.h +++ b/include/asm-blackfin/processor.h @@ -26,9 +26,10 @@ static inline void wrusp(unsigned long usp) /* * User space process size: 1st byte beyond user address space. + * Fairly meaningless on nommu. Parts of user programs can be scattered + * in a lot of places, so just disable this by setting it to 0xFFFFFFFF. */ -extern unsigned long memory_end; -#define TASK_SIZE (memory_end) +#define TASK_SIZE 0xFFFFFFFF #ifdef __KERNEL__ #define STACK_TOP TASK_SIZE |