X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcryptsetup%2Fcryptsetup-generator.c;h=9c98f0b617d161417060d93bb50dbd7eb9aaaf55;hb=6fc73498945da749744041d4e10cf8dfac5c3bc6;hp=e1798a3e827680f7f271aa56785d126c357cd1b2;hpb=4469ff4adebbed4778e7fe767f0165776c1ba62a;p=elogind.git diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index e1798a3e8..9c98f0b61 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -27,7 +27,6 @@ #include "util.h" #include "unit-name.h" #include "mkdir.h" -#include "virt.h" #include "strv.h" #include "fileio.h" @@ -241,20 +240,21 @@ static int create_disk( return 0; } -static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char ***arg_proc_cmdline_options, char **arg_proc_cmdline_keyfile) { +static int parse_proc_cmdline( + char ***arg_proc_cmdline_disks, + char ***arg_proc_cmdline_options, + char **arg_proc_cmdline_keyfile) { + _cleanup_free_ char *line = NULL; char *w = NULL, *state = NULL; - int r; size_t l; + int r; - if (detect_container(NULL) > 0) - return 0; - - r = read_one_line_file("/proc/cmdline", &line); - if (r < 0) { + r = proc_cmdline(&line); + if (r < 0) log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); + if (r <= 0) return 0; - } FOREACH_WORD_QUOTED(w, l, line, state) { _cleanup_free_ char *word = NULL;