tracing: Do not (ab)use trace_seq in event_id_read()
[firefly-linux-kernel-4.4.55.git] / kernel / trace / trace_events.c
index 76defd91f9b4f372d0db9717dec3d7a9892338d3..898f868833f2d4df0d80838f9461385b5eedcd77 100644 (file)
@@ -947,23 +947,14 @@ static ssize_t
 event_id_read(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos)
 {
        struct ftrace_event_call *call = filp->private_data;
-       struct trace_seq *s;
-       int r;
+       char buf[32];
+       int len;
 
        if (*ppos)
                return 0;
 
-       s = kmalloc(sizeof(*s), GFP_KERNEL);
-       if (!s)
-               return -ENOMEM;
-
-       trace_seq_init(s);
-       trace_seq_printf(s, "%d\n", call->event.type);
-
-       r = simple_read_from_buffer(ubuf, cnt, ppos,
-                                   s->buffer, s->len);
-       kfree(s);
-       return r;
+       len = sprintf(buf, "%d\n", call->event.type);
+       return simple_read_from_buffer(ubuf, cnt, ppos, buf, len);
 }
 
 static ssize_t