From: "Steven Rostedt (Red Hat)" <[email protected]>

Having ftrace_write() return -EPERM on failure, as that's what the callers
return, then we can clean up the code a bit. That is, instead of:

  if (ftrace_write(...))
     return -EPERM;
  return 0;

or

  if (ftrace_write(...)) {
     ret = -EPERM;
     goto_out;
  }

We can instead have:

  return ftrace_write(...);

or

  ret = ftrace_write(...);
  if (ret)
    goto out;

Signed-off-by: Steven Rostedt <[email protected]>
---
 arch/x86/kernel/ftrace.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 69885e2..8cabf63 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -308,7 +308,10 @@ static int ftrace_write(unsigned long ip, const char *val, 
int size)
        if (within(ip, (unsigned long)_text, (unsigned long)_etext))
                ip = (unsigned long)__va(__pa_symbol(ip));
 
-       return probe_kernel_write((void *)ip, val, size);
+       if (probe_kernel_write((void *)ip, val, size))
+               return -EPERM;
+
+       return 0;
 }
 
 static int add_break(unsigned long ip, const char *old)
@@ -323,10 +326,7 @@ static int add_break(unsigned long ip, const char *old)
        if (memcmp(replaced, old, MCOUNT_INSN_SIZE) != 0)
                return -EINVAL;
 
-       if (ftrace_write(ip, &brk, 1))
-               return -EPERM;
-
-       return 0;
+       return ftrace_write(ip, &brk, 1);
 }
 
 static int add_brk_on_call(struct dyn_ftrace *rec, unsigned long addr)
@@ -463,9 +463,7 @@ static int add_update_code(unsigned long ip, unsigned const 
char *new)
        /* skip breakpoint */
        ip++;
        new++;
-       if (ftrace_write(ip, new, MCOUNT_INSN_SIZE - 1))
-               return -EPERM;
-       return 0;
+       return ftrace_write(ip, new, MCOUNT_INSN_SIZE - 1);
 }
 
 static int add_update_call(struct dyn_ftrace *rec, unsigned long addr)
@@ -520,10 +518,7 @@ static int finish_update_call(struct dyn_ftrace *rec, 
unsigned long addr)
 
        new = ftrace_call_replace(ip, addr);
 
-       if (ftrace_write(ip, new, 1))
-               return -EPERM;
-
-       return 0;
+       return ftrace_write(ip, new, 1);
 }
 
 static int finish_update_nop(struct dyn_ftrace *rec)
@@ -533,9 +528,7 @@ static int finish_update_nop(struct dyn_ftrace *rec)
 
        new = ftrace_nop_replace();
 
-       if (ftrace_write(ip, new, 1))
-               return -EPERM;
-       return 0;
+       return ftrace_write(ip, new, 1);
 }
 
 static int finish_update(struct dyn_ftrace *rec, int enable)
@@ -656,10 +649,6 @@ ftrace_modify_code(unsigned long ip, unsigned const char 
*old_code,
        run_sync();
 
        ret = ftrace_write(ip, new_code, 1);
-       if (ret) {
-               ret = -EPERM;
-               goto out;
-       }
  out:
        run_sync();
        return ret;
-- 
1.8.5.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to