diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2009-11-07 12:20:37 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-11-13 12:10:37 -0500 |
commit | c4304529543114a5df7eeec31ec5ee5c7c924738 (patch) | |
tree | 4453815cc058c35dfc488a2cae6d7cafb0c82192 | |
parent | f8ac04255dc8baa1c018e8028222d842efa56e6b (diff) |
MIPS: Make local arrays with CL_SIZE static __initdata
Since commit 22242681cff52bfb7cba5d2a37b91802be7a4e4c ("MIPS: Extend
COMMAND_LINE_SIZE"), CL_SIZE is 4096 and local array variables with this
size will cause an build failure with default CONFIG_FRAME_WARN settings.
Although current users of such array variables are all early bootstrap
code and not likely to cause real stack overflow (thread_info corruption),
it is preferable to to declare these arrays static with __initdata.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/bcm47xx/prom.c | 2 | ||||
-rw-r--r-- | arch/mips/mti-malta/malta-memory.c | 3 | ||||
-rw-r--r-- | arch/mips/rb532/prom.c | 2 | ||||
-rw-r--r-- | arch/mips/txx9/generic/setup.c | 4 |
4 files changed, 6 insertions, 5 deletions
diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c index 079e33d52783..fb284c3b2cff 100644 --- a/arch/mips/bcm47xx/prom.c +++ b/arch/mips/bcm47xx/prom.c | |||
@@ -100,7 +100,7 @@ static __init void prom_init_console(void) | |||
100 | 100 | ||
101 | static __init void prom_init_cmdline(void) | 101 | static __init void prom_init_cmdline(void) |
102 | { | 102 | { |
103 | char buf[CL_SIZE]; | 103 | static char buf[CL_SIZE] __initdata; |
104 | 104 | ||
105 | /* Get the kernel command line from CFE */ | 105 | /* Get the kernel command line from CFE */ |
106 | if (cfe_getenv("LINUX_CMDLINE", buf, CL_SIZE) >= 0) { | 106 | if (cfe_getenv("LINUX_CMDLINE", buf, CL_SIZE) >= 0) { |
diff --git a/arch/mips/mti-malta/malta-memory.c b/arch/mips/mti-malta/malta-memory.c index 61888ff72c87..9035c64bc5ed 100644 --- a/arch/mips/mti-malta/malta-memory.c +++ b/arch/mips/mti-malta/malta-memory.c | |||
@@ -54,7 +54,8 @@ static struct prom_pmemblock * __init prom_getmdesc(void) | |||
54 | { | 54 | { |
55 | char *memsize_str; | 55 | char *memsize_str; |
56 | unsigned int memsize; | 56 | unsigned int memsize; |
57 | char cmdline[CL_SIZE], *ptr; | 57 | char *ptr; |
58 | static char cmdline[CL_SIZE] __initdata; | ||
58 | 59 | ||
59 | /* otherwise look in the environment */ | 60 | /* otherwise look in the environment */ |
60 | memsize_str = prom_getenv("memsize"); | 61 | memsize_str = prom_getenv("memsize"); |
diff --git a/arch/mips/rb532/prom.c b/arch/mips/rb532/prom.c index 46ca24dbcc2d..ad5bd1097974 100644 --- a/arch/mips/rb532/prom.c +++ b/arch/mips/rb532/prom.c | |||
@@ -69,7 +69,7 @@ static inline unsigned long tag2ul(char *arg, const char *tag) | |||
69 | 69 | ||
70 | void __init prom_setup_cmdline(void) | 70 | void __init prom_setup_cmdline(void) |
71 | { | 71 | { |
72 | char cmd_line[CL_SIZE]; | 72 | static char cmd_line[CL_SIZE] __initdata; |
73 | char *cp, *board; | 73 | char *cp, *board; |
74 | int prom_argc; | 74 | int prom_argc; |
75 | char **prom_argv, **prom_envp; | 75 | char **prom_argv, **prom_envp; |
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c index e10184c1b3e1..d66802edebb2 100644 --- a/arch/mips/txx9/generic/setup.c +++ b/arch/mips/txx9/generic/setup.c | |||
@@ -160,7 +160,7 @@ static void __init prom_init_cmdline(void) | |||
160 | int argc; | 160 | int argc; |
161 | int *argv32; | 161 | int *argv32; |
162 | int i; /* Always ignore the "-c" at argv[0] */ | 162 | int i; /* Always ignore the "-c" at argv[0] */ |
163 | char builtin[CL_SIZE]; | 163 | static char builtin[CL_SIZE] __initdata; |
164 | 164 | ||
165 | if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) { | 165 | if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) { |
166 | /* | 166 | /* |
@@ -315,7 +315,7 @@ static inline void txx9_cache_fixup(void) | |||
315 | 315 | ||
316 | static void __init preprocess_cmdline(void) | 316 | static void __init preprocess_cmdline(void) |
317 | { | 317 | { |
318 | char cmdline[CL_SIZE]; | 318 | static char cmdline[CL_SIZE] __initdata; |
319 | char *s; | 319 | char *s; |
320 | 320 | ||
321 | strcpy(cmdline, arcs_cmdline); | 321 | strcpy(cmdline, arcs_cmdline); |