X-Git-Url: https://bbs.cooldavid.org/git/?a=blobdiff_plain;f=kernel%2Ftrace%2Ftrace_event_perf.c;h=31cc4cb0dbf2afaa49d5f7428f5cce31d535211d;hb=9cb627d5f38830ca19aa0dca52d1d3a633018bf7;hp=000e6e85b445906893d7003b2f28c615453bb726;hpb=da34634fd39958725310d2c30c9b4543945f968b;p=net-next-2.6.git diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index 000e6e85b44..31cc4cb0dbf 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -91,6 +91,8 @@ int perf_trace_init(struct perf_event *p_event) tp_event->class && tp_event->class->reg && try_module_get(tp_event->mod)) { ret = perf_trace_event_init(tp_event, p_event); + if (ret) + module_put(tp_event->mod); break; } } @@ -146,6 +148,7 @@ void perf_trace_destroy(struct perf_event *p_event) } } out: + module_put(tp_event->mod); mutex_unlock(&event_mutex); }