Skip to content

Commit

Permalink
MIPS: Make local arrays with CL_SIZE static __initdata
Browse files Browse the repository at this point in the history
Since commit 2224268 ("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 <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
  • Loading branch information
atsushi-nemoto authored and ralfbaechle committed Nov 13, 2009
1 parent f8ac042 commit c430452
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion arch/mips/bcm47xx/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ static __init void prom_init_console(void)

static __init void prom_init_cmdline(void)
{
char buf[CL_SIZE];
static char buf[CL_SIZE] __initdata;

/* Get the kernel command line from CFE */
if (cfe_getenv("LINUX_CMDLINE", buf, CL_SIZE) >= 0) {
Expand Down
3 changes: 2 additions & 1 deletion arch/mips/mti-malta/malta-memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ static struct prom_pmemblock * __init prom_getmdesc(void)
{
char *memsize_str;
unsigned int memsize;
char cmdline[CL_SIZE], *ptr;
char *ptr;
static char cmdline[CL_SIZE] __initdata;

/* otherwise look in the environment */
memsize_str = prom_getenv("memsize");
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/rb532/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ static inline unsigned long tag2ul(char *arg, const char *tag)

void __init prom_setup_cmdline(void)
{
char cmd_line[CL_SIZE];
static char cmd_line[CL_SIZE] __initdata;
char *cp, *board;
int prom_argc;
char **prom_argv, **prom_envp;
Expand Down
4 changes: 2 additions & 2 deletions arch/mips/txx9/generic/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ static void __init prom_init_cmdline(void)
int argc;
int *argv32;
int i; /* Always ignore the "-c" at argv[0] */
char builtin[CL_SIZE];
static char builtin[CL_SIZE] __initdata;

if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) {
/*
Expand Down Expand Up @@ -315,7 +315,7 @@ static inline void txx9_cache_fixup(void)

static void __init preprocess_cmdline(void)
{
char cmdline[CL_SIZE];
static char cmdline[CL_SIZE] __initdata;
char *s;

strcpy(cmdline, arcs_cmdline);
Expand Down

0 comments on commit c430452

Please sign in to comment.