Revision 74545f63890e38520eb4d1dbedcadaa9c0dbc824 authored by David Carrillo-Cisneros on 23 December 2016, 01:17:40 UTC, committed by Ingo Molnar on 05 January 2017, 08:13:55 UTC
The conversion of Intel PMU drivers into modules did not include reference
counting. The machine will crash when attempting to  access deleted code
if an event from a module PMU is started and the module removed before the
event is destroyed.

i.e. this crashes the machine:

	$ insmod intel-rapl-perf.ko
	$ perf stat -e power/energy-cores/ -C 0 &
	$ rmmod intel-rapl-perf.ko

Set THIS_MODULE to pmu->module in Intel module PMUs so that generic code
can handle reference counting and deny rmmod while an event still exists.

Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1482455860-116269-1-git-send-email-davidcc@google.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 4e06d4f
History
File Mode Size
Kconfig -rw-r--r-- 5.0 KB
Makefile -rw-r--r-- 883 bytes
acl.h -rw-r--r-- 2.4 KB
auth.c -rw-r--r-- 2.0 KB
auth.h -rw-r--r-- 339 bytes
blocklayout.c -rw-r--r-- 10.5 KB
blocklayoutxdr.c -rw-r--r-- 5.1 KB
blocklayoutxdr.h -rw-r--r-- 1.3 KB
cache.h -rw-r--r-- 1.8 KB
current_stateid.h -rw-r--r-- 1.4 KB
export.c -rw-r--r-- 31.6 KB
export.h -rw-r--r-- 3.0 KB
fault_inject.c -rw-r--r-- 3.7 KB
flexfilelayout.c -rw-r--r-- 3.4 KB
flexfilelayoutxdr.c -rw-r--r-- 2.7 KB
flexfilelayoutxdr.h -rw-r--r-- 1.1 KB
idmap.h -rw-r--r-- 2.3 KB
lockd.c -rw-r--r-- 1.7 KB
netns.h -rw-r--r-- 3.7 KB
nfs2acl.c -rw-r--r-- 8.9 KB
nfs3acl.c -rw-r--r-- 6.3 KB
nfs3proc.c -rw-r--r-- 24.5 KB
nfs3xdr.c -rw-r--r-- 26.8 KB
nfs4acl.c -rw-r--r-- 21.8 KB
nfs4callback.c -rw-r--r-- 29.7 KB
nfs4idmap.c -rw-r--r-- 16.0 KB
nfs4layouts.c -rw-r--r-- 18.7 KB
nfs4proc.c -rw-r--r-- 69.4 KB
nfs4recover.c -rw-r--r-- 35.6 KB
nfs4state.c -rw-r--r-- 181.8 KB
nfs4xdr.c -rw-r--r-- 114.6 KB
nfscache.c -rw-r--r-- 15.4 KB
nfsctl.c -rw-r--r-- 32.9 KB
nfsd.h -rw-r--r-- 16.8 KB
nfsfh.c -rw-r--r-- 18.2 KB
nfsfh.h -rw-r--r-- 7.0 KB
nfsproc.c -rw-r--r-- 21.6 KB
nfssvc.c -rw-r--r-- 20.0 KB
nfsxdr.c -rw-r--r-- 13.0 KB
pnfs.h -rw-r--r-- 2.7 KB
state.h -rw-r--r-- 22.5 KB
stats.c -rw-r--r-- 2.7 KB
stats.h -rw-r--r-- 1.4 KB
trace.c -rw-r--r-- 48 bytes
trace.h -rw-r--r-- 2.5 KB
vfs.c -rw-r--r-- 49.8 KB
vfs.h -rw-r--r-- 5.7 KB
xdr.h -rw-r--r-- 4.0 KB
xdr3.h -rw-r--r-- 8.1 KB
xdr4.h -rw-r--r-- 21.8 KB
xdr4cb.h -rw-r--r-- 1.4 KB

back to top