|
@@ -53,17 +53,18 @@ int read_log(struct tpm_bios_log *log)
|
|
goto cleanup_eio;
|
|
goto cleanup_eio;
|
|
}
|
|
}
|
|
|
|
|
|
- of_node_put(np);
|
|
|
|
log->bios_event_log = kmalloc(*sizep, GFP_KERNEL);
|
|
log->bios_event_log = kmalloc(*sizep, GFP_KERNEL);
|
|
if (!log->bios_event_log) {
|
|
if (!log->bios_event_log) {
|
|
pr_err("%s: ERROR - Not enough memory for BIOS measurements\n",
|
|
pr_err("%s: ERROR - Not enough memory for BIOS measurements\n",
|
|
__func__);
|
|
__func__);
|
|
|
|
+ of_node_put(np);
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
}
|
|
}
|
|
|
|
|
|
log->bios_event_log_end = log->bios_event_log + *sizep;
|
|
log->bios_event_log_end = log->bios_event_log + *sizep;
|
|
|
|
|
|
memcpy(log->bios_event_log, __va(*basep), *sizep);
|
|
memcpy(log->bios_event_log, __va(*basep), *sizep);
|
|
|
|
+ of_node_put(np);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|