summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHon Ching \(Vicky\) Lo <honclo@linux.vnet.ibm.com>2015-10-07 20:11:51 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-17 12:34:35 -0800
commit2060578571caa130c8483a10fbc4292da6082009 (patch)
tree96b9d736a98ae8c2f1f54eaa563d4a13af9676ad
parent38a2d8100b2290d6b1328a78ea5db41d4946b3b4 (diff)
downloadlwn-2060578571caa130c8483a10fbc4292da6082009.tar.gz
lwn-2060578571caa130c8483a10fbc4292da6082009.zip
vTPM: fix memory allocation flag for rtce buffer at kernel boot
commit 60ecd86c4d985750efa0ea3d8610972b09951715 upstream. At ibm vtpm initialzation, tpm_ibmvtpm_probe() registers its interrupt handler, ibmvtpm_interrupt, which calls ibmvtpm_crq_process to allocate memory for rtce buffer. The current code uses 'GFP_KERNEL' as the type of kernel memory allocation, which resulted a warning at kernel/lockdep.c. This patch uses 'GFP_ATOMIC' instead so that the allocation is high-priority and does not sleep. Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com> Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/char/tpm/tpm_ibmvtpm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/tpm/tpm_ibmvtpm.c b/drivers/char/tpm/tpm_ibmvtpm.c
index 643bba7d6f81..9eab751efeea 100644
--- a/drivers/char/tpm/tpm_ibmvtpm.c
+++ b/drivers/char/tpm/tpm_ibmvtpm.c
@@ -490,7 +490,7 @@ static void ibmvtpm_crq_process(struct ibmvtpm_crq *crq,
}
ibmvtpm->rtce_size = be16_to_cpu(crq->len);
ibmvtpm->rtce_buf = kmalloc(ibmvtpm->rtce_size,
- GFP_KERNEL);
+ GFP_ATOMIC);
if (!ibmvtpm->rtce_buf) {
dev_err(ibmvtpm->dev, "Failed to allocate memory for rtce buffer\n");
return;