Li Zefan e1c7e2a6e6 tracing/events: Don't increment @pos in s_start()
While testing syscall tracepoints posted by Jason, I found 3 entries
were missing when reading available_events. The output size of
available_events is < 4 pages, which means we lost 1 entry per page.

The cause is, it's wrong to increment @pos in s_start().

Actually there's another bug here -- reading avaiable_events/set_events
can race with module unload:

  # cat available_events               |
      s_start()                        |
      s_stop()                         |
                                       | # rmmod foo.ko
      s_start()                        |
        call = list_entry(m->private)  |

@call might be freed and accessing it will lead to crash.

Reviewed-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <4A4186DD.6090405@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-06-24 11:02:49 +02:00
..
2008-10-16 11:21:30 -07:00
2009-05-20 10:34:32 +02:00
2009-06-16 19:47:48 -07:00
2008-07-28 14:37:38 +02:00
2009-05-15 07:56:24 -05:00
2009-06-18 13:03:54 -07:00
2009-06-18 13:03:57 -07:00
2009-01-14 18:09:02 +01:00
2009-06-18 13:03:56 -07:00
2009-06-18 13:03:55 -07:00
2009-06-18 13:03:55 -07:00
2008-09-02 19:21:40 -07:00
2009-03-30 22:05:16 +10:30
2009-06-16 19:47:48 -07:00
2009-06-18 13:03:54 -07:00
2009-06-15 21:30:23 -07:00
2009-06-18 13:03:55 -07:00
2009-04-14 17:17:16 +02:00