Re: [RFC PATCH v1 1/1] Add support for arm64 to carry ima measurement log in kexec_file_load

From: Prakhar Srivastava
Date: Thu Sep 19 2019 - 20:32:08 EST




On 9/18/2019 8:59 PM, Thiago Jung Bauermann wrote:
Mimi Zohar <zohar@xxxxxxxxxxxxx> writes:

On Wed, 2019-09-18 at 10:15 -0400, Mimi Zohar wrote:

+ uint64_t tmp_start, tmp_end;
+
+ propStart = of_find_property(of_chosen, "linux,ima-kexec-buffer",
+ NULL);
+ if (propStart) {
+ tmp_start = fdt64_to_cpu(*((const fdt64_t *) propStart));
+ ret = of_remove_property(of_chosen, propStart);
+ if (!ret) {
+ return ret;
+ }
+
+ propEnd = of_find_property(of_chosen,
+ "linux,ima-kexec-buffer-end", NULL);
+ if (!propEnd) {
+ return -EINVAL;
+ }
+
+ tmp_end = fdt64_to_cpu(*((const fdt64_t *) propEnd));
+
+ ret = of_remove_property(of_chosen, propEnd);
+ if (!ret) {
+ return ret;
+ }
There seems to be quite a bit of code duplication in this function and
in ima_get_kexec_buffer(). It could probably be cleaned up with some
refactoring.
Sorry, my mistake. One calls of_get_property(), while the other calls
of_find_property().
of_get_property() is a thin wrapper around of_find_property(), so if
that's the only difference I think they can still be merged.

I will move to using of_get_property and see if i can reduce the code further.

Also address other comments by Mimi in my next iteration.

Thanks,

Prakhar Srivastava