[PATCH] efi: Use GFP_ATOMIC instead of GFP_KERNEL

From: Vaishali Thakkar
Date: Mon Apr 11 2016 - 06:53:50 EST


Function dup_variable_bug is called inside the spinlock.
This may lead to issues when kzalloc sleeps, so it is
better to use GFP_ATOMIC in this spinlocked context.

Problem found using Coccinelle.

Signed-off-by: Vaishali Thakkar <vaishali.thakkar@xxxxxxxxxx>
---
drivers/firmware/efi/vars.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/vars.c b/drivers/firmware/efi/vars.c
index 0ac594c..d5e2f28 100644
--- a/drivers/firmware/efi/vars.c
+++ b/drivers/firmware/efi/vars.c
@@ -411,7 +411,7 @@ static void dup_variable_bug(efi_char16_t *str16, efi_guid_t *vendor_guid,
*/
efivar_wq_enabled = false;

- str8 = kzalloc(len8, GFP_KERNEL);
+ str8 = kzalloc(len8, GFP_ATOMIC);
if (!str8)
return;

--
2.1.4