aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_events.c
diff options
context:
space:
mode:
authorPeter Huewe <peterhuewe@gmx.de>2011-06-07 15:58:27 -0400
committerSteven Rostedt <rostedt@goodmis.org>2011-06-14 22:48:50 -0400
commit22fe9b54d859e53bfbbbdc1a0a77a82bc453927c (patch)
tree4aec2d069decbe0786ad5474908f5bbe49732ad4 /kernel/trace/trace_events.c
parent749230b06a753a22f6ed96e5dd60815d6ab12865 (diff)
tracing: Convert to kstrtoul_from_user
This patch replaces the code for getting an unsigned long from a userspace buffer by a simple call to kstroul_from_user. This makes it easier to read and less error prone. Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Link: http://lkml.kernel.org/r/1307476707-14762-1-git-send-email-peterhuewe@gmx.de Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_events.c')
-rw-r--r--kernel/trace/trace_events.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 686ec399f2a8..4d7e1498ae91 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -486,20 +486,11 @@ event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt,
486 loff_t *ppos) 486 loff_t *ppos)
487{ 487{
488 struct ftrace_event_call *call = filp->private_data; 488 struct ftrace_event_call *call = filp->private_data;
489 char buf[64];
490 unsigned long val; 489 unsigned long val;
491 int ret; 490 int ret;
492 491
493 if (cnt >= sizeof(buf)) 492 ret = kstrtoul_from_user(ubuf, cnt, 10, &val);
494 return -EINVAL; 493 if (ret)
495
496 if (copy_from_user(&buf, ubuf, cnt))
497 return -EFAULT;
498
499 buf[cnt] = 0;
500
501 ret = strict_strtoul(buf, 10, &val);
502 if (ret < 0)
503 return ret; 494 return ret;
504 495
505 ret = tracing_update_buffers(); 496 ret = tracing_update_buffers();
@@ -571,19 +562,10 @@ system_enable_write(struct file *filp, const char __user *ubuf, size_t cnt,
571{ 562{
572 const char *system = filp->private_data; 563 const char *system = filp->private_data;
573 unsigned long val; 564 unsigned long val;
574 char buf[64];
575 ssize_t ret; 565 ssize_t ret;
576 566
577 if (cnt >= sizeof(buf)) 567 ret = kstrtoul_from_user(ubuf, cnt, 10, &val);
578 return -EINVAL; 568 if (ret)
579
580 if (copy_from_user(&buf, ubuf, cnt))
581 return -EFAULT;
582
583 buf[cnt] = 0;
584
585 ret = strict_strtoul(buf, 10, &val);
586 if (ret < 0)
587 return ret; 569 return ret;
588 570
589 ret = tracing_update_buffers(); 571 ret = tracing_update_buffers();