From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Thu, 19 Jan 2017 21:20:09 +0100

A local variable was set to an error code before a concrete error situation
was detected. Thus move the corresponding assignment into an if branch
to indicate a software failure there.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 arch/powerpc/kernel/rtas_flash.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index db2b482af658..663904beff67 100644
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
@@ -419,9 +419,10 @@ static ssize_t manage_flash_write(struct file *file, const 
char __user *buf,
        op = -1;
        if (buf) {
                if (count > 9) count = 9;
-               rc = -EFAULT;
-               if (copy_from_user (stkbuf, buf, count))
+               if (copy_from_user(stkbuf, buf, count)) {
+                       rc = -EFAULT;
                        goto error;
+               }
                if (strncmp(stkbuf, reject_str, strlen(reject_str)) == 0) 
                        op = RTAS_REJECT_TMP_IMG;
                else if (strncmp(stkbuf, commit_str, strlen(commit_str)) == 0) 
-- 
2.11.0

Reply via email to