diff options
Diffstat (limited to 'kernel/trace/trace_event_perf.c')
| -rw-r--r-- | kernel/trace/trace_event_perf.c | 3 | 
1 files changed, 3 insertions, 0 deletions
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);  }  | 
