aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/ftrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r--kernel/trace/ftrace.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index e1538071660d..458018a1ac9a 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -803,19 +803,10 @@ ftrace_profile_write(struct file *filp, const char __user *ubuf,
803 size_t cnt, loff_t *ppos) 803 size_t cnt, loff_t *ppos)
804{ 804{
805 unsigned long val; 805 unsigned long val;
806 char buf[64]; /* big enough to hold a number */
807 int ret; 806 int ret;
808 807
809 if (cnt >= sizeof(buf)) 808 ret = kstrtoul_from_user(ubuf, cnt, 10, &val);
810 return -EINVAL; 809 if (ret)
811
812 if (copy_from_user(&buf, ubuf, cnt))
813 return -EFAULT;
814
815 buf[cnt] = 0;
816
817 ret = strict_strtoul(buf, 10, &val);
818 if (ret < 0)
819 return ret; 810 return ret;
820 811
821 val = !!val; 812 val = !!val;