|
@@ -465,7 +465,7 @@ static int tpm_binary_bios_measurements_open(struct inode *inode,
|
|
|
return -ENOMEM;
|
|
|
|
|
|
if ((err = read_log(log)))
|
|
|
- return err;
|
|
|
+ goto out_free;
|
|
|
|
|
|
/* now register seq file */
|
|
|
err = seq_open(file, &tpm_binary_b_measurments_seqops);
|
|
@@ -473,10 +473,15 @@ static int tpm_binary_bios_measurements_open(struct inode *inode,
|
|
|
seq = file->private_data;
|
|
|
seq->private = log;
|
|
|
} else {
|
|
|
- kfree(log->bios_event_log);
|
|
|
- kfree(log);
|
|
|
+ goto out_free;
|
|
|
}
|
|
|
+
|
|
|
+out:
|
|
|
return err;
|
|
|
+out_free:
|
|
|
+ kfree(log->bios_event_log);
|
|
|
+ kfree(log);
|
|
|
+ goto out;
|
|
|
}
|
|
|
|
|
|
const struct file_operations tpm_binary_bios_measurements_ops = {
|