diff --git a/[refs] b/[refs] index 37bc827794f9..a790c633b9b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bb3f0b59ad005d2d2ecbbe9bd048eab6d1ecbd31 +refs/heads/master: 65d370862f64973611a271ced61864b5f9bb6fc0 diff --git a/trunk/kernel/perf_counter.c b/trunk/kernel/perf_counter.c index 1ac18daa424f..f27a7e9f3c41 100644 --- a/trunk/kernel/perf_counter.c +++ b/trunk/kernel/perf_counter.c @@ -1934,7 +1934,8 @@ __perf_counter_exit_task(struct task_struct *child, } } - kfree(child_counter); + if (!child_counter->filp || !atomic_long_read(&child_counter->filp->f_count)) + kfree(child_counter); } /*