[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