Skip to content

Commit ae2d4fc

Browse files
committed
Merge tag 'tpmdd-next-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
Pull TPM update from Jarkko Sakkinen. * tag 'tpmdd-next-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd: tpm: Change to kvalloc() in eventlog/acpi.c
2 parents 68732c0 + a3a860b commit ae2d4fc

File tree

1 file changed

+13
-2
lines changed
  • drivers/char/tpm/eventlog

1 file changed

+13
-2
lines changed

drivers/char/tpm/eventlog/acpi.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ static bool tpm_is_tpm2_log(void *bios_event_log, u64 len)
6363
return n == 0;
6464
}
6565

66+
static void tpm_bios_log_free(void *data)
67+
{
68+
kvfree(data);
69+
}
70+
6671
/* read binary bios log */
6772
int tpm_read_log_acpi(struct tpm_chip *chip)
6873
{
@@ -136,7 +141,7 @@ int tpm_read_log_acpi(struct tpm_chip *chip)
136141
}
137142

138143
/* malloc EventLog space */
139-
log->bios_event_log = devm_kmalloc(&chip->dev, len, GFP_KERNEL);
144+
log->bios_event_log = kvmalloc(len, GFP_KERNEL);
140145
if (!log->bios_event_log)
141146
return -ENOMEM;
142147

@@ -161,10 +166,16 @@ int tpm_read_log_acpi(struct tpm_chip *chip)
161166
goto err;
162167
}
163168

169+
ret = devm_add_action(&chip->dev, tpm_bios_log_free, log->bios_event_log);
170+
if (ret) {
171+
log->bios_event_log = NULL;
172+
goto err;
173+
}
174+
164175
return format;
165176

166177
err:
167-
devm_kfree(&chip->dev, log->bios_event_log);
178+
tpm_bios_log_free(log->bios_event_log);
168179
log->bios_event_log = NULL;
169180
return ret;
170181
}

0 commit comments

Comments
 (0)