Re: [PATCH][RFC] Drop the "static __initdata" from tmp_cmdline in parse_early_param().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Robert P. J. Day wrote:

--- a/init/main.c
+++ b/init/main.c
@@ -482,7 +482,7 @@ static int __init do_early_param(char *param, char *val)
 void __init parse_early_param(void)
 {
 	static __initdata int done = 0;
-	static __initdata char tmp_cmdline[COMMAND_LINE_SIZE];
+	char tmp_cmdline[COMMAND_LINE_SIZE];

As I've said in an answer to an e-mail from you on the kernelnewbies mailing list, this change is going to allocate 2k on the stack, which is quite big compared to the overall stack size. If you use 8k stacks, it may still work, but with 4k stacks, it eats half of the stack, leaving only 2k for the rest of the code to execute, which may not be enough. I think that why this buffer is static.

Sincerly,

Thomas
--
PETAZZONI Thomas - thomas.petazzoni@xxxxxxxx
http://thomas.enix.org - Jabber: thomas.petazzoni@xxxxxxxxx
KOS: http://kos.enix.org/ - SOS: http://sos.enix.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7
-
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux