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-- 8.2 KB
Makefile -rw-r--r-- 665 bytes
asn1.c -rw-r--r-- 13.6 KB
cache.c -rw-r--r-- 8.0 KB
cifs_debug.c -rw-r--r-- 17.8 KB
cifs_debug.h -rw-r--r-- 2.0 KB
cifs_dfs_ref.c -rw-r--r-- 9.9 KB
cifs_fs_sb.h -rw-r--r-- 3.4 KB
cifs_ioctl.h -rw-r--r-- 1.6 KB
cifs_spnego.c -rw-r--r-- 6.3 KB
cifs_spnego.h -rw-r--r-- 1.6 KB
cifs_unicode.c -rw-r--r-- 16.0 KB
cifs_unicode.h -rw-r--r-- 10.3 KB
cifs_uniupr.h -rw-r--r-- 12.6 KB
cifsacl.c -rw-r--r-- 33.5 KB
cifsacl.h -rw-r--r-- 2.9 KB
cifsencrypt.c -rw-r--r-- 24.3 KB
cifsfs.c -rw-r--r-- 35.4 KB
cifsfs.h -rw-r--r-- 5.9 KB
cifsglob.h -rw-r--r-- 55.3 KB
cifspdu.h -rw-r--r-- 83.8 KB
cifsproto.h -rw-r--r-- 23.5 KB
cifssmb.c -rw-r--r-- 191.8 KB
connect.c -rw-r--r-- 112.3 KB
dir.c -rw-r--r-- 24.5 KB
dns_resolve.c -rw-r--r-- 2.8 KB
dns_resolve.h -rw-r--r-- 1.2 KB
export.c -rw-r--r-- 2.4 KB
file.c -rw-r--r-- 101.0 KB
fscache.c -rw-r--r-- 6.8 KB
fscache.h -rw-r--r-- 4.8 KB
inode.c -rw-r--r-- 63.0 KB
ioctl.c -rw-r--r-- 8.1 KB
link.c -rw-r--r-- 17.6 KB
misc.c -rw-r--r-- 17.9 KB
netmisc.c -rw-r--r-- 39.5 KB
nterr.c -rw-r--r-- 33.5 KB
nterr.h -rw-r--r-- 30.0 KB
ntlmssp.h -rw-r--r-- 5.7 KB
readdir.c -rw-r--r-- 24.6 KB
rfc1002pdu.h -rw-r--r-- 2.8 KB
sess.c -rw-r--r-- 39.4 KB
smb1ops.c -rw-r--r-- 32.0 KB
smb2file.c -rw-r--r-- 7.6 KB
smb2glob.h -rw-r--r-- 1.9 KB
smb2inode.c -rw-r--r-- 7.8 KB
smb2maperror.c -rw-r--r-- 126.9 KB
smb2misc.c -rw-r--r-- 18.9 KB
smb2ops.c -rw-r--r-- 59.0 KB
smb2pdu.c -rw-r--r-- 85.4 KB
smb2pdu.h -rw-r--r-- 36.0 KB
smb2proto.h -rw-r--r-- 8.7 KB
smb2status.h -rw-r--r-- 125.2 KB
smb2transport.c -rw-r--r-- 15.6 KB
smbencrypt.c -rw-r--r-- 5.7 KB
smberr.h -rw-r--r-- 7.5 KB
smbfsctl.h -rw-r--r-- 6.5 KB
transport.c -rw-r--r-- 26.1 KB
winucase.c -rw-r--r-- 36.9 KB
xattr.c -rw-r--r-- 9.6 KB

back to top