mirror of
https://github.com/sheumann/hush.git
synced 2024-12-21 23:29:34 +00:00
init: downgrade ENABLE_DEBUG_INIT to just a #define to prevent people
from selecting it in error. It has to be used ONLY for debugging init, never in production, as resulting init has serious differences.
This commit is contained in:
parent
37890e2f37
commit
5cb54b5adc
@ -369,7 +369,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
|
|||||||
# Init Utilities
|
# Init Utilities
|
||||||
#
|
#
|
||||||
CONFIG_INIT=y
|
CONFIG_INIT=y
|
||||||
# CONFIG_DEBUG_INIT is not set
|
|
||||||
CONFIG_FEATURE_USE_INITTAB=y
|
CONFIG_FEATURE_USE_INITTAB=y
|
||||||
CONFIG_FEATURE_KILL_REMOVED=y
|
CONFIG_FEATURE_KILL_REMOVED=y
|
||||||
CONFIG_FEATURE_KILL_DELAY=1
|
CONFIG_FEATURE_KILL_DELAY=1
|
||||||
|
@ -12,14 +12,6 @@ config INIT
|
|||||||
help
|
help
|
||||||
init is the first program run when the system boots.
|
init is the first program run when the system boots.
|
||||||
|
|
||||||
config DEBUG_INIT
|
|
||||||
bool "Debugging aid"
|
|
||||||
default n
|
|
||||||
depends on INIT
|
|
||||||
help
|
|
||||||
Turn this on to disable all the dangerous
|
|
||||||
rebooting stuff when debugging.
|
|
||||||
|
|
||||||
config FEATURE_USE_INITTAB
|
config FEATURE_USE_INITTAB
|
||||||
bool "Support reading an inittab file"
|
bool "Support reading an inittab file"
|
||||||
default y
|
default y
|
||||||
|
10
init/init.c
10
init/init.c
@ -14,6 +14,10 @@
|
|||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
#include <sys/reboot.h>
|
#include <sys/reboot.h>
|
||||||
|
|
||||||
|
/* Was a CONFIG_xxx option. A lot of people were building
|
||||||
|
* not fully functional init by switching it on! */
|
||||||
|
#define DEBUG_INIT 0
|
||||||
|
|
||||||
#define COMMAND_SIZE 256
|
#define COMMAND_SIZE 256
|
||||||
#define CONSOLE_NAME_SIZE 32
|
#define CONSOLE_NAME_SIZE 32
|
||||||
#define MAXENV 16 /* Number of env. vars */
|
#define MAXENV 16 /* Number of env. vars */
|
||||||
@ -103,7 +107,7 @@ static void loop_forever(void)
|
|||||||
* "where" may be bitwise-or'd from L_LOG | L_CONSOLE
|
* "where" may be bitwise-or'd from L_LOG | L_CONSOLE
|
||||||
* NB: careful, we can be called after vfork!
|
* NB: careful, we can be called after vfork!
|
||||||
*/
|
*/
|
||||||
#define messageD(...) do { if (ENABLE_DEBUG_INIT) message(__VA_ARGS__); } while (0)
|
#define messageD(...) do { if (DEBUG_INIT) message(__VA_ARGS__); } while (0)
|
||||||
static void message(int where, const char *fmt, ...)
|
static void message(int where, const char *fmt, ...)
|
||||||
__attribute__ ((format(printf, 2, 3)));
|
__attribute__ ((format(printf, 2, 3)));
|
||||||
static void message(int where, const char *fmt, ...)
|
static void message(int where, const char *fmt, ...)
|
||||||
@ -275,7 +279,7 @@ static void open_stdio_to_tty(const char* tty_name, int exit_on_failure)
|
|||||||
tty_name, strerror(errno));
|
tty_name, strerror(errno));
|
||||||
if (exit_on_failure)
|
if (exit_on_failure)
|
||||||
_exit(EXIT_FAILURE);
|
_exit(EXIT_FAILURE);
|
||||||
if (ENABLE_DEBUG_INIT)
|
if (DEBUG_INIT)
|
||||||
_exit(2);
|
_exit(2);
|
||||||
/* NB: we don't reach this if we were called after vfork.
|
/* NB: we don't reach this if we were called after vfork.
|
||||||
* Thus halt_reboot_pwoff() itself need not be vfork-safe. */
|
* Thus halt_reboot_pwoff() itself need not be vfork-safe. */
|
||||||
@ -788,7 +792,7 @@ int init_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
return kill(1, SIGHUP);
|
return kill(1, SIGHUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ENABLE_DEBUG_INIT) {
|
if (!DEBUG_INIT) {
|
||||||
/* Expect to be invoked as init with PID=1 or be invoked as linuxrc */
|
/* Expect to be invoked as init with PID=1 or be invoked as linuxrc */
|
||||||
if (getpid() != 1
|
if (getpid() != 1
|
||||||
&& (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc"))
|
&& (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc"))
|
||||||
|
@ -367,7 +367,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
|
|||||||
# Init Utilities
|
# Init Utilities
|
||||||
#
|
#
|
||||||
CONFIG_INIT=y
|
CONFIG_INIT=y
|
||||||
# CONFIG_DEBUG_INIT is not set
|
|
||||||
CONFIG_FEATURE_USE_INITTAB=y
|
CONFIG_FEATURE_USE_INITTAB=y
|
||||||
# CONFIG_FEATURE_KILL_REMOVED is not set
|
# CONFIG_FEATURE_KILL_REMOVED is not set
|
||||||
CONFIG_FEATURE_KILL_DELAY=0
|
CONFIG_FEATURE_KILL_DELAY=0
|
||||||
|
Loading…
Reference in New Issue
Block a user