As has been seen recently, binding the buffer allocation and tpm_buf together is sometimes far from optimal. The buffer might come from the caller namely when tpm_send() is used by another subsystem. In addition we can stability in call sites w/o rollback (e.g. power events)>
Take allocation out of the tpm_buf framework and make it purely a wrapper for the data buffer. Link: https://patchwork.kernel.org/patch/11146585/ Cc: Mimi Zohar <zo...@linux.ibm.com> Cc: Jerry Snitselaar <jsnit...@redhat.com> Cc: James Bottomley <james.bottom...@hansenpartnership.com> Cc: Sumit Garg <sumit.g...@linaro.org> Cc: Stefan Berger <stef...@linux.vnet.ibm.com> Jarkko Sakkinen (2): tpm: Use GFP_KERNEL for allocating struct tpm_buf tpm: Detach page allocation from tpm_buf drivers/char/tpm/tpm-sysfs.c | 19 ++- drivers/char/tpm/tpm.h | 40 ++--- drivers/char/tpm/tpm1-cmd.c | 114 +++++++++---- drivers/char/tpm/tpm2-cmd.c | 265 +++++++++++++++++++----------- drivers/char/tpm/tpm2-space.c | 64 +++++--- drivers/char/tpm/tpm_vtpm_proxy.c | 24 +-- 6 files changed, 333 insertions(+), 193 deletions(-) -- 2.20.1