]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: be careful with boot loader entries lacking a 'linux' line
authorLennart Poettering <lennart@poettering.net>
Fri, 1 Mar 2019 16:46:58 +0000 (17:46 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 5 Mar 2019 15:50:58 +0000 (16:50 +0100)
A boot loader entry might not have a 'linux' line, but an 'efi' line or
something else. Let's handle that case nicely.

src/systemctl/systemctl.c

index 0141e2995ded0ebdfcf6172fec930f8da3dceeaa..9be66218090475a7acaabd101d2e95fa7b1cbdd0 100644 (file)
@@ -3539,6 +3539,9 @@ static int load_kexec_kernel(void) {
         if (r < 0)
                 return r;
 
+        if (!e->kernel)
+                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+                                       "Boot entry does not refer to Linux kernel, which is not supported currently.");
         if (strv_length(e->initrd) > 1)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Boot entry specifies multiple initrds, which is not supported currently.");