Patch "kexec: clean up arch_kexec_kernel_verify_sig" has been added to the 5.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    kexec: clean up arch_kexec_kernel_verify_sig

to the 5.18-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     kexec-clean-up-arch_kexec_kernel_verify_sig.patch
and it can be found in the queue-5.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0d01ede0c3b718afbf2b4bdb7b91840f25cc0d0e
Author: Coiby Xu <coxu@xxxxxxxxxx>
Date:   Thu Jul 14 21:40:24 2022 +0800

    kexec: clean up arch_kexec_kernel_verify_sig
    
    [ Upstream commit 689a71493bd2f31c024f8c0395f85a1fd4b2138e ]
    
    Before commit 105e10e2cf1c ("kexec_file: drop weak attribute from
    functions"), there was already no arch-specific implementation
    of arch_kexec_kernel_verify_sig. With weak attribute dropped by that
    commit, arch_kexec_kernel_verify_sig is completely useless. So clean it
    up.
    
    Note later patches are dependent on this patch so it should be backported
    to the stable tree as well.
    
    Cc: stable@xxxxxxxxxxxxxxx
    Suggested-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
    Reviewed-by: Michal Suchanek <msuchanek@xxxxxxx>
    Acked-by: Baoquan He <bhe@xxxxxxxxxx>
    Signed-off-by: Coiby Xu <coxu@xxxxxxxxxx>
    [zohar@xxxxxxxxxxxxx: reworded patch description "Note"]
    Link: https://lore.kernel.org/linux-integrity/20220714134027.394370-1-coxu@xxxxxxxxxx/
    Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index 87c1795297b0..f3e7680befcc 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -212,11 +212,6 @@ static inline void *arch_kexec_kernel_image_load(struct kimage *image)
 }
 #endif
 
-#ifdef CONFIG_KEXEC_SIG
-int arch_kexec_kernel_verify_sig(struct kimage *image, void *buf,
-				 unsigned long buf_len);
-#endif
-
 extern int kexec_add_buffer(struct kexec_buf *kbuf);
 int kexec_locate_mem_hole(struct kexec_buf *kbuf);
 
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
index 925953dfef05..ad005cd184a4 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
@@ -81,24 +81,6 @@ int kexec_image_post_load_cleanup_default(struct kimage *image)
 	return image->fops->cleanup(image->image_loader_data);
 }
 
-#ifdef CONFIG_KEXEC_SIG
-static int kexec_image_verify_sig_default(struct kimage *image, void *buf,
-					  unsigned long buf_len)
-{
-	if (!image->fops || !image->fops->verify_sig) {
-		pr_debug("kernel loader does not support signature verification.\n");
-		return -EKEYREJECTED;
-	}
-
-	return image->fops->verify_sig(buf, buf_len);
-}
-
-int arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, unsigned long buf_len)
-{
-	return kexec_image_verify_sig_default(image, buf, buf_len);
-}
-#endif
-
 /*
  * Free up memory used by kernel, initrd, and command line. This is temporary
  * memory allocation which is not needed any more after these buffers have
@@ -141,13 +123,24 @@ void kimage_file_post_load_cleanup(struct kimage *image)
 }
 
 #ifdef CONFIG_KEXEC_SIG
+static int kexec_image_verify_sig(struct kimage *image, void *buf,
+				  unsigned long buf_len)
+{
+	if (!image->fops || !image->fops->verify_sig) {
+		pr_debug("kernel loader does not support signature verification.\n");
+		return -EKEYREJECTED;
+	}
+
+	return image->fops->verify_sig(buf, buf_len);
+}
+
 static int
 kimage_validate_signature(struct kimage *image)
 {
 	int ret;
 
-	ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf,
-					   image->kernel_buf_len);
+	ret = kexec_image_verify_sig(image, image->kernel_buf,
+				     image->kernel_buf_len);
 	if (ret) {
 
 		if (sig_enforce) {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux