linux/arch/mips
James Hogan a3ee1048dd KVM: MIPS: Fix trace event to save PC directly
commit b3cffac04e upstream.

Currently the guest exit trace event saves the VCPU pointer to the
structure, and the guest PC is retrieved by dereferencing it when the
event is printed rather than directly from the trace record. This isn't
safe as the printing may occur long afterwards, after the PC has changed
and potentially after the VCPU has been freed. Usually this results in
the same (wrong) PC being printed for multiple trace events. It also
isn't portable as userland has no way to access the VCPU data structure
when interpreting the trace record itself.

Lets save the actual PC in the structure so that the correct value is
accessible later.

Fixes: 669e846e6c ("KVM/MIPS32: MIPS arch specific APIs for KVM")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-03-14 15:37:22 -04:00
..
alchemy MIPS: Alchemy: Fix cpu clock calculation 2015-03-06 14:52:54 -08:00
ar7 MIPS: Restore init.h usage to arch/mips/ar7/time.c 2014-03-26 23:09:23 +01:00
ath79 MIPS: ath79: Fix compilation error when CONFIG_PCI is disabled 2014-10-22 23:16:59 +02:00
bcm47xx Merge tag 'master-2014-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-09-26 15:39:24 -04:00
bcm63xx MIPS: BCM63xx: delete double assignment 2014-08-26 02:18:58 +02:00
boot MIPS: ralink: Move device-trees to arch/mips/boot/dts/ 2014-09-22 13:35:50 +02:00
cavium-octeon MIPS: OCTEON: fix kernel crash when offlining a CPU 2015-02-11 15:00:51 +08:00
cobalt MIPS: Cobalt: Move to 8250/16550 serial early printk driver 2013-10-29 21:24:38 +01:00
configs Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-18 14:24:36 -07:00
dec Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
emma MIPS: Remove panic_timeout settings 2013-11-26 12:12:27 +01:00
fw MIPS: DEC/SNI: O32 wrapper stack switching fixes 2014-05-13 00:29:35 +02:00
include MIPS: HTW: Prevent accidental HTW start due to nested htw_{start, stop} 2015-03-06 14:53:01 -08:00
jazz Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-03-02 07:44:16 -08:00
jz4740 This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
kernel MIPS: HTW: Prevent accidental HTW start due to nested htw_{start, stop} 2015-03-06 14:53:01 -08:00
kvm KVM: MIPS: Fix trace event to save PC directly 2015-03-14 15:37:22 -04:00
lantiq Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-18 14:24:36 -07:00
lasat MIPS: Lasat: Add missing CONFIG_PROC_FS dependency to PICVUE_PROC 2014-10-21 17:35:44 +02:00
lib MIPS: lib: memcpy: Restore NOP on delay slot before returning to caller 2014-11-19 18:22:08 +01:00
loongson MIPS: Loongson: Make platform serial setup always built-in. 2014-11-24 07:44:06 +01:00
loongson1 MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs. 2014-05-23 15:12:37 +02:00
math-emu MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
mm MIPS: Fix C0_Pagegrain[IEC] support. 2015-02-11 15:00:51 +08:00
mti-malta MIPS: Malta: Do not build the malta-amon.c file if CMP is not enabled 2014-10-23 20:05:55 +02:00
mti-sead3 MIPS: SEAD3: Fix LED device registration. 2014-11-24 07:44:03 +01:00
net mips: bpf: Fix broken BPF_MOD 2014-12-16 09:39:05 -08:00
netlogic MIPS: Netlogic: handle modular AHCI builds 2014-11-24 07:44:06 +01:00
oprofile MIPS: oprofile: Fix backtrace on 64-bit kernel 2014-11-19 18:22:07 +01:00
paravirt mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
pci MIPS/Xlp: Remove the dead function destroy_irq() to fix build error 2014-10-27 01:43:57 +01:00
pmcs-msp71xx MIPS: MSP71xx: Fix build error 2014-10-24 02:37:18 +02:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
ralink MIPS: ralink: remove deprecated IRQF_DISABLED 2014-09-29 19:46:32 +02:00
rb532 Merge branch '3.16-fixes' into mips-for-linux-next 2014-08-02 00:07:03 +02:00
sgi-ip22 MIPS: IP22: Add missing put_device call 2014-07-30 13:27:51 +02:00
sgi-ip27 MIPS: IP27: Fix __node_distances undefined error 2014-11-19 18:22:07 +01:00
sgi-ip32 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sibyte MIPS: Sibyte: Include the swarm subdir to the sb1250 LittleSur builds 2014-10-23 13:52:49 +02:00
sni MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
txx9 driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
vr41xx MIPS: Idle: Consolidate all declarations in <asm/idle.h>. 2013-05-22 01:34:27 +02:00
Kbuild MIPS: net: Add BPF JIT 2014-05-30 16:10:20 +02:00
Kbuild.platforms MIPS: Enable build for new system 'paravirt' 2014-06-02 12:34:20 +02:00
Kconfig MIPS: Kconfig: Don't allow both microMIPS and SmartMIPS to be selected. 2014-11-24 07:44:07 +01:00
Kconfig.debug MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
Makefile MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00