Commit ef439d49 authored by Max Filippov's avatar Max Filippov
Browse files

xtensa: ISS: don't allocate memory in platform_setup



Memory allocator is not initialized at that point yet, use static array
instead.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 57361846
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -78,12 +78,16 @@ static struct notifier_block iss_panic_block = {

void __init platform_setup(char **p_cmdline)
{
	static void *argv[COMMAND_LINE_SIZE / sizeof(void *)] __initdata;
	static char cmdline[COMMAND_LINE_SIZE] __initdata;
	int argc = simc_argc();
	int argv_size = simc_argv_size();

	if (argc > 1) {
		void **argv = alloc_bootmem(argv_size);
		char *cmdline = alloc_bootmem(argv_size);
		if (argv_size > sizeof(argv)) {
			pr_err("%s: command line too long: argv_size = %d\n",
			       __func__, argv_size);
		} else {
			int i;

			cmdline[0] = 0;
@@ -96,6 +100,7 @@ void __init platform_setup(char **p_cmdline)
			}
			*p_cmdline = cmdline;
		}
	}

	atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block);
}