mdev: do not follow symlinks in /sys (as was intended prior to rev 18811).
If this breaks things, please document why! mdev,init: use shared code for fd sanitization function old new delta bb_daemonize_or_rexec 155 172 +17 mdev_main 500 505 +5 init_main 907 856 -51 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 22/-51) Total: -29 bytes
This commit is contained in:
15
init/init.c
15
init/init.c
@ -221,20 +221,7 @@ static void console_init(void)
|
||||
} else {
|
||||
/* Make sure fd 0,1,2 are not closed
|
||||
* (so that they won't be used by future opens) */
|
||||
|
||||
/* bb_sanitize_stdio(); - WRONG.
|
||||
* It fails if "/dev/null" doesnt exist, and for init
|
||||
* this is a real possibility! Open code it instead. */
|
||||
|
||||
int fd = open(bb_dev_null, O_RDWR);
|
||||
if (fd < 0) {
|
||||
/* Give me _ANY_ open descriptor! */
|
||||
fd = xopen("/", O_RDONLY); /* we don't believe this can fail */
|
||||
}
|
||||
while ((unsigned)fd < 2)
|
||||
fd = dup(fd);
|
||||
if (fd > 2)
|
||||
close(fd);
|
||||
bb_sanitize_stdio();
|
||||
}
|
||||
|
||||
s = getenv("TERM");
|
||||
|
Reference in New Issue
Block a user