summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/apei/erst-dbg.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-10-08 10:46:27 +0200
committerIngo Molnar <mingo@elte.hu>2010-10-08 10:46:27 +0200
commit7cd2541cf2395962daf98ec32a141aba3398a9b2 (patch)
tree3c8bebb277462ba0de9d44233a970d34056dc45e /drivers/acpi/apei/erst-dbg.c
parentc62f981f9309486ba5546edbb5925f71e441fa65 (diff)
parentcb655d0f3d57c23db51b981648e452988c0223f9 (diff)
downloadop-kernel-dev-7cd2541cf2395962daf98ec32a141aba3398a9b2.zip
op-kernel-dev-7cd2541cf2395962daf98ec32a141aba3398a9b2.tar.gz
Merge commit 'v2.6.36-rc7' into perf/core
Conflicts: arch/x86/kernel/module.c Merge reason: Resolve the conflict, pick up fixes. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/acpi/apei/erst-dbg.c')
-rw-r--r--drivers/acpi/apei/erst-dbg.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/acpi/apei/erst-dbg.c b/drivers/acpi/apei/erst-dbg.c
index 5281ddd..da1228a 100644
--- a/drivers/acpi/apei/erst-dbg.c
+++ b/drivers/acpi/apei/erst-dbg.c
@@ -2,7 +2,7 @@
* APEI Error Record Serialization Table debug support
*
* ERST is a way provided by APEI to save and retrieve hardware error
- * infomation to and from a persistent store. This file provide the
+ * information to and from a persistent store. This file provide the
* debugging/testing support for ERST kernel support and firmware
* implementation.
*
@@ -111,11 +111,13 @@ retry:
goto out;
}
if (len > erst_dbg_buf_len) {
- kfree(erst_dbg_buf);
+ void *p;
rc = -ENOMEM;
- erst_dbg_buf = kmalloc(len, GFP_KERNEL);
- if (!erst_dbg_buf)
+ p = kmalloc(len, GFP_KERNEL);
+ if (!p)
goto out;
+ kfree(erst_dbg_buf);
+ erst_dbg_buf = p;
erst_dbg_buf_len = len;
goto retry;
}
@@ -150,11 +152,13 @@ static ssize_t erst_dbg_write(struct file *filp, const char __user *ubuf,
if (mutex_lock_interruptible(&erst_dbg_mutex))
return -EINTR;
if (usize > erst_dbg_buf_len) {
- kfree(erst_dbg_buf);
+ void *p;
rc = -ENOMEM;
- erst_dbg_buf = kmalloc(usize, GFP_KERNEL);
- if (!erst_dbg_buf)
+ p = kmalloc(usize, GFP_KERNEL);
+ if (!p)
goto out;
+ kfree(erst_dbg_buf);
+ erst_dbg_buf = p;
erst_dbg_buf_len = usize;
}
rc = copy_from_user(erst_dbg_buf, ubuf, usize);
OpenPOWER on IntegriCloud