From 542864cb4e45606463ac92ca9294dbd9177bd875 Mon Sep 17 00:00:00 2001 From: Andy Whitcroft Date: Thu, 11 Oct 2012 11:32:17 +0100 Subject: [PATCH] --- yaml --- r: 344063 b: refs/heads/master c: d142df03a798ee7d2db10a1f20945110ea6067ff h: refs/heads/master i: 344061: 828788de2dd456593cf3b2b410afda0d742e4df7 344059: e6cb85878c1126adab5e8c0bb5c9961a8c4b3fee 344055: fcab27779851864ee36690267b5ff1aeb4a1c4d2 344047: b6e4bfe94d0677e49965adaf1bc2f117024bc5bc 344031: 9555f3a57283fceec3cfb7feda7d0e013c7e5d90 343999: 4190543fe77f5a972edaf4afb038c0c31e298191 343935: 6987f4885df72d75229cb27f79cc9caf3fbe3add 343807: 4a3886f640c2434479bd348672f6d5b694b9ee05 343551: ce28f3ce3a368972ce0ed61f0cfc827ed3accc12 343039: 3256d75475a754ab5e290eb2f8426f08f4328f4c 342015: d27ce33b6962658a80a9161d58b87cc34fcec5e5 339967: a59e057f8634dc03245ef391cd8791eb8efe6db4 335871: 3e43c2f1c537ec292c9eb6ef6ca10dd05db0394f 327679: 9dd685fb495fdbf23aef974fab57f7f04898b12a v: v3 --- [refs] | 2 +- trunk/drivers/firmware/efivars.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d299a4914b46..46caeed16af8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bd52276fa1d420c3a504b76ffaaa1642cc79d4c4 +refs/heads/master: d142df03a798ee7d2db10a1f20945110ea6067ff diff --git a/trunk/drivers/firmware/efivars.c b/trunk/drivers/firmware/efivars.c index 6793965b7c8b..b7c9a3261dc4 100644 --- a/trunk/drivers/firmware/efivars.c +++ b/trunk/drivers/firmware/efivars.c @@ -766,7 +766,7 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf, unsigned long datasize = 0; u32 attributes; void *data; - ssize_t size; + ssize_t size = 0; status = efivars->ops->get_variable(var->var.VariableName, &var->var.VendorGuid, @@ -784,13 +784,13 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf, &var->var.VendorGuid, &attributes, &datasize, (data + 4)); - if (status != EFI_SUCCESS) - return 0; + goto out_free; memcpy(data, &attributes, 4); size = simple_read_from_buffer(userbuf, count, ppos, data, datasize + 4); +out_free: kfree(data); return size;