diff options
| author | Li Zefan <[email protected]> | 2009-06-24 09:52:29 +0800 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2009-06-24 11:02:49 +0200 |
| commit | e1c7e2a6e67fe9db19dd15e71614526a31b5fdb1 (patch) | |
| tree | 0b6eb8cf5e699592fc868a44b24e603ad8f3d6af /scripts/mod/empty.c | |
| parent | 4e8a2372f9255a1464ef488ed925455f53fbdaa1 (diff) | |
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 <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'scripts/mod/empty.c')
0 files changed, 0 insertions, 0 deletions