aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2012-08-20 14:59:25 +0100
committerIngo Molnar <mingo@kernel.org>2012-09-04 17:29:22 +0200
commita6fa941d94b411bbd2b6421ffbde6db3c93e65ab (patch)
tree2d80af531f906c6b27184148bbf15b8a7469c2a7 /arch
parentperf/x86: Fix microcode revision check for SNB-PEBS (diff)
downloadlinux-dev-a6fa941d94b411bbd2b6421ffbde6db3c93e65ab.tar.xz
linux-dev-a6fa941d94b411bbd2b6421ffbde6db3c93e65ab.zip
perf_event: Switch to internal refcount, fix race with close()
Don't mess with file refcounts (or keep a reference to file, for that matter) in perf_event. Use explicit refcount of its own instead. Deal with the race between the final reference to event going away and new children getting created for it by use of atomic_long_inc_not_zero() in inherit_event(); just have the latter free what it had allocated and return NULL, that works out just fine (children of siblings of something doomed are created as singletons, same as if the child of leader had been created and immediately killed). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: stable@kernel.org Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20120820135925.GG23464@ZenIV.linux.org.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions