Browse Source

init: do not set HOME

function                                             old     new   delta
.rodata                                           104906  104899      -7
init_main                                            786     776     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-17)             Total: -17 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Denys Vlasenko 1 year ago
parent
commit
1a290f889c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      init/init.c

+ 5 - 1
init/init.c

@@ -1105,10 +1105,14 @@ int init_main(int argc UNUSED_PARAM, char **argv)
 	setsid();
 
 	/* Make sure environs is set to something sane */
-	putenv((char *) "HOME=/");
 	putenv((char *) bb_PATH_root_path);
 	putenv((char *) "SHELL=/bin/sh");
 	putenv((char *) "USER=root"); /* needed? why? */
+	/* Linux kernel sets HOME="/" when execing init,
+	 * and it can be overridden (but not unset?) on kernel's command line.
+	 * We used to set it to "/" here, but now we do not:
+	 */
+	//putenv((char *) "HOME=/");
 
 	if (argv[1])
 		xsetenv("RUNLEVEL", argv[1]);