[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4582.1516120311@warthog.procyon.org.uk>
Date: Tue, 16 Jan 2018 16:31:51 +0000
From: David Howells <dhowells@...hat.com>
To: Jiri Bohac <jbohac@...e.cz>
Cc: dhowells@...hat.com, linux-security-module@...r.kernel.org,
gnomes@...rguk.ukuu.org.uk, linux-efi@...r.kernel.org,
linux-kernel@...r.kernel.org, jforbes@...hat.com,
Chun-Yi Lee <joeyli.kernel@...il.com>
Subject: Re: [PATCH 08a/30] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE
I think that your code isn't quite right. Looking at the patched code:
#ifdef CONFIG_KEXEC_SIG
sig_err = arch_kexec_kernel_verify_sig(image, image->kernel_buf,
image->kernel_buf_len);
if (sig_err)
pr_debug("kernel signature verification failed.\n");
else
pr_debug("kernel signature verification successful.\n");
#endif
if (sig_err && IS_ENABLED(CONFIG_KEXEC_SIG_FORCE)) {
ret = sig_err;
goto out;
}
If the signature check fails because the signature is bad, but
CONFIG_KEXEC_SIG_FORCE=n then it now won't fail when it should.
If sig_err is -EKEYREJECTED, -EKEYEXPIRED or -EKEYREVOKED then it must fail,
even if the signature check isn't forced.
David
Powered by blists - more mailing lists