From 78c38fe79c64ea71ffe9bbef9db5f8b17e45b1fd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 1 Mar 2019 17:46:58 +0100 Subject: systemctl: be careful with boot loader entries lacking a 'linux' line 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 0141e2995d..9be6621809 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -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."); -- cgit v1.2.1