> @@ -195,7 +181,34 @@ void ima_add_kexec_buffer(struct kimage *image) > static int ima_update_kexec_buffer(struct notifier_block *self, > unsigned long action, void *data) > { > - return NOTIFY_OK; > + void *buf = NULL; > + size_t buf_size; > + int ret = NOTIFY_OK; > + > + if (!kexec_in_progress) { > + pr_info("%s: No kexec in progress.\n", __func__); > + return ret; > + } > + > + if (!ima_kexec_buffer) { > + pr_err("%s: Kexec buffer not set.\n", __func__); > + return ret; > + } pr_ messages should already be prefixed with the module name. There shouldn't be a need to include the function name as well. > + ret = ima_dump_measurement_list(&buf_size, &buf, > + kexec_segment_size); > + > + if (!buf) { > + pr_err("%s: Dump measurements failed. Error:%d\n", > + __func__, ret); > + goto out; > + } > + memcpy(ima_kexec_buffer, buf, buf_size); > +out: > + kimage_unmap_segment(ima_kexec_buffer); > + ima_kexec_buffer = NULL; > + > + return ret; > } > > struct notifier_block update_buffer_nb = {