[PATCH v9 11/11] tpm-buf: Implement managed allocations
Jarkko Sakkinen
jarkko at kernel.org
Sun Feb 8 14:09:08 UTC 2026
On Sun, Jan 25, 2026 at 09:25:21PM +0200, Jarkko Sakkinen wrote:
> From: Jarkko Sakkinen <jarkko.sakkinen at opinsys.com>
>
> Decouple kzalloc from buffer creation, so that a managed allocation can be
> used:
>
> struct tpm_buf *buf __free(kfree) buf = kzalloc(TPM_BUFSIZE,
> GFP_KERNEL);
> if (!buf)
> return -ENOMEM;
>
> tpm_buf_init(buf, TPM_BUFSIZE);
>
> Alternatively, stack allocations are also possible:
>
> u8 buf_data[512];
> struct tpm_buf *buf = (struct tpm_buf *)buf_data;
> tpm_buf_init(buf, sizeof(buf_data));
>
> This is achieved by embedding buffer's header inside the allocated blob,
> instead of having an outer wrapper.
>
> Cc: Ross Philipson <ross.philipson at oracle.com>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at opinsys.com>
> Reviewed-by: Stefan Berger <stefanb at linux.ibm.com>
Since rest of the series does not seem to move forward maybe I should
rebase this to bottom and send it as a separate patch?
This patch eliminates a category of memory bugs and is that way useful.
It also starts to be pretty well stress tested.
BR, Jarkko
More information about the Linux-security-module-archive
mailing list