efi/efi_test: Use memdup_user() as a cleanup
authorIvan Hu <ivan.hu@canonical.com>
Tue, 18 Oct 2016 14:33:16 +0000 (15:33 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 18 Oct 2016 15:11:19 +0000 (17:11 +0200)
Fix coccicheck warning which recommends to use memdup_user().

This patch fixes the following coccicheck warnings:

  drivers/firmware/efi/test/efi_test.c:269:8-15: WARNING opportunity for memdup_user

Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/20161018143318.15673-7-matt@codeblueprint.co.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
drivers/firmware/efi/test/efi_test.c

index bb26e12b0cfd77f6bb54a89bf149a127cba2a771..8cd578f620594cdc6cc3bb1b15103fad8750840d 100644 (file)
@@ -265,14 +265,10 @@ static long efi_runtime_set_variable(unsigned long arg)
                        return rv;
        }
 
-       data = kmalloc(setvariable.data_size, GFP_KERNEL);
-       if (!data) {
+       data = memdup_user(setvariable.data, setvariable.data_size);
+       if (IS_ERR(data)) {
                kfree(name);
-               return -ENOMEM;
-       }
-       if (copy_from_user(data, setvariable.data, setvariable.data_size)) {
-               rv = -EFAULT;
-               goto out;
+               return PTR_ERR(data);
        }
 
        status = efi.set_variable(name, &vendor_guid,