From c1fb98a30dae051ab69d23624d1e062d0527527e Mon Sep 17 00:00:00 2001 From: Quentin Armitage Date: Fri, 19 Nov 2021 18:33:49 +0000 Subject: [PATCH] modprobe: Write error messages to syslog if stderr is unavailable The man page modprobe(8) states for the --syslog option: "This is also automatically enabled when stderr is unavailable." but it wasn't happening. This commit now makes modprobe write to syslog if stderr is closed. --- tools/modprobe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/modprobe.c b/tools/modprobe.c index 2a2ae21..3240c2b 100644 --- a/tools/modprobe.c +++ b/tools/modprobe.c @@ -819,6 +819,7 @@ static int do_modprobe(int argc, char **orig_argv) int do_show_modversions = 0; int do_show_exports = 0; int err; + struct stat stat_buf; argv = prepend_options_from_env(&argc, orig_argv); if (argv == NULL) { @@ -947,6 +948,12 @@ static int do_modprobe(int argc, char **orig_argv) args = argv + optind; nargs = argc - optind; + if (!use_syslog && + (!stderr || + fileno(stderr) == -1 || + fstat(fileno(stderr), &stat_buf))) + use_syslog = 1; + log_open(use_syslog); if (!do_show_config) { -- 2.39.2