diff options
Diffstat (limited to 'kernel/trace/ring_buffer.c')
-rw-r--r-- | kernel/trace/ring_buffer.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 725153d6cf73..f00ede314eb6 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c | |||
@@ -3980,20 +3980,11 @@ rb_simple_write(struct file *filp, const char __user *ubuf, | |||
3980 | size_t cnt, loff_t *ppos) | 3980 | size_t cnt, loff_t *ppos) |
3981 | { | 3981 | { |
3982 | unsigned long *p = filp->private_data; | 3982 | unsigned long *p = filp->private_data; |
3983 | char buf[64]; | ||
3984 | unsigned long val; | 3983 | unsigned long val; |
3985 | int ret; | 3984 | int ret; |
3986 | 3985 | ||
3987 | if (cnt >= sizeof(buf)) | 3986 | ret = kstrtoul_from_user(ubuf, cnt, 10, &val); |
3988 | return -EINVAL; | 3987 | if (ret) |
3989 | |||
3990 | if (copy_from_user(&buf, ubuf, cnt)) | ||
3991 | return -EFAULT; | ||
3992 | |||
3993 | buf[cnt] = 0; | ||
3994 | |||
3995 | ret = strict_strtoul(buf, 10, &val); | ||
3996 | if (ret < 0) | ||
3997 | return ret; | 3988 | return ret; |
3998 | 3989 | ||
3999 | if (val) | 3990 | if (val) |