path: root/security
diff options
authorLakshmi Ramasubramanian <>2021-02-21 09:49:25 -0800
committerRob Herring <>2021-03-08 12:06:29 -0700
commit0c605158be32104bb85cbd12fb575e6f1e17d3e7 (patch)
tree498e125385884e0c29751de6d772d80dc1e53556 /security
parent3c985d31ad661a2cc0ad0a55105046fc56a7b1fd (diff)
powerpc: Move ima buffer fields to struct kimage
The fields ima_buffer_addr and ima_buffer_size in "struct kimage_arch" for powerpc are used to carry forward the IMA measurement list across kexec system call. These fields are not architecture specific, but are currently limited to powerpc. arch_ima_add_kexec_buffer() defined in "arch/powerpc/kexec/ima.c" sets ima_buffer_addr and ima_buffer_size for the kexec system call. This function does not have architecture specific code, but is currently limited to powerpc. Move ima_buffer_addr and ima_buffer_size to "struct kimage". Set ima_buffer_addr and ima_buffer_size in ima_add_kexec_buffer() in security/integrity/ima/ima_kexec.c. Co-developed-by: Prakhar Srivastava <> Signed-off-by: Prakhar Srivastava <> Signed-off-by: Lakshmi Ramasubramanian <> Suggested-by: Will Deacon <> Reviewed-by: Thiago Jung Bauermann <> Signed-off-by: Rob Herring <> Link:
Diffstat (limited to 'security')
1 files changed, 2 insertions, 6 deletions
diff --git a/security/integrity/ima/ima_kexec.c b/security/integrity/ima/ima_kexec.c
index e29bea3dd4cc..8b1a3d50c49c 100644
--- a/security/integrity/ima/ima_kexec.c
+++ b/security/integrity/ima/ima_kexec.c
@@ -123,12 +123,8 @@ void ima_add_kexec_buffer(struct kimage *image)
- ret = arch_ima_add_kexec_buffer(image, kbuf.mem, kexec_segment_size);
- if (ret) {
- pr_err("Error passing over kexec measurement buffer.\n");
- return;
- }
+ image->ima_buffer_addr = kbuf.mem;
+ image->ima_buffer_size = kexec_segment_size;
image->ima_buffer = kexec_buffer;
pr_debug("kexec measurement buffer for the loaded kernel at 0x%lx.\n",