Paul Mackerras
0d808df06a
KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
...
When switching from/to a guest that has a transaction in progress,
we need to save/restore the checkpointed register state. Although
XER is part of the CPU state that gets checkpointed, the code that
does this saving and restoring doesn't save/restore XER.
This fixes it by saving and restoring the XER. To allow userspace
to read/write the checkpointed XER value, we also add a new ONE_REG
specifier.
The visible effect of this bug is that the guest may see its XER
value being corrupted when it uses transactions.
Fixes: e4e3812150 ("KVM: PPC: Book3S HV: Add transactional memory support")
Fixes: 0a8eccefcb ("KVM: PPC: Book3S HV: Add missing code for transaction reclaim on guest exit")
Cc: stable@vger.kernel.org # v3.15+
Signed-off-by: Paul Mackerras <paulus@ozlabs.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Paul Mackerras <paulus@ozlabs.org >
2016-11-21 15:17:55 +11:00
..
2016-10-11 16:19:17 -06:00
2016-11-11 16:48:49 -08:00
2016-09-23 13:07:15 -06:00
2016-10-02 01:40:20 +02:00
2016-10-14 15:17:12 -07:00
2016-10-03 08:58:35 -07:00
2016-09-23 11:52:32 -06:00
2016-10-10 07:12:02 -06:00
2016-09-14 08:44:57 -06:00
2016-07-26 16:19:19 -07:00
2016-08-07 10:23:17 -04:00
2016-09-08 23:05:07 +02:00
2016-10-11 15:06:33 -07:00
2016-09-21 15:43:09 -06:00
2016-10-17 16:41:31 -04:00
2016-11-11 16:38:26 -08:00
2016-08-08 08:11:42 +05:30
2016-10-14 14:11:22 -07:00
2016-09-06 09:15:48 -06:00
2016-10-06 18:21:15 -07:00
2016-10-13 17:19:19 +02:00
2016-10-30 13:09:42 -04:00
2016-10-20 14:14:11 +02:00
2016-10-11 18:12:22 -07:00
2016-08-17 11:13:07 +02:00
2016-09-08 21:34:17 -07:00
2016-09-08 16:57:14 +02:00
2016-09-20 09:58:12 -06:00
2016-10-01 00:49:58 -06:00
2016-10-02 08:42:19 -04:00
2016-10-04 11:47:02 -07:00
2016-09-06 06:00:22 -06:00
2016-10-14 14:26:58 -07:00
2016-09-20 18:02:54 -06:00
2016-08-12 08:24:14 +02:00
2016-09-23 13:07:21 -06:00
2016-10-04 10:25:53 -07:00
2016-08-18 23:41:56 +02:00
2016-09-22 15:25:56 +02:00
2016-10-05 16:43:53 -03:00
2016-09-20 12:38:48 -06:00
2016-09-23 11:51:43 -06:00
2016-07-25 10:34:51 +02:00
2016-10-29 20:33:20 -07:00
2016-10-07 11:46:37 -07:00
2016-09-23 13:07:27 -06:00
2016-09-15 11:20:55 -07:00
2016-10-06 18:21:15 -07:00
2016-10-07 20:19:31 -07:00
2016-09-20 09:09:09 -06:00
2016-09-20 09:54:38 -06:00
2016-09-01 17:52:02 -07:00
2016-10-11 15:06:33 -07:00
2016-09-10 11:17:41 +02:00
2016-09-29 21:52:43 -04:00
2016-07-26 13:05:11 -07:00
2016-08-18 11:08:33 -06:00
2016-07-26 10:35:31 +02:00
2016-09-19 16:36:41 -03:00
2016-10-04 13:54:07 -07:00
2016-10-10 07:12:09 -06:00
2016-09-30 12:46:48 -05:00
2016-09-27 14:02:16 +08:00
2016-10-10 07:12:09 -06:00
2016-10-06 11:48:41 -07:00
2016-11-21 15:17:55 +11:00
2016-08-07 10:23:17 -04:00
2016-10-14 15:17:12 -07:00
2016-10-10 11:01:51 -07:00
2016-07-24 06:33:58 +03:00
2016-07-20 16:45:37 -06:00
2016-10-10 07:12:09 -06:00
2016-09-20 18:46:36 -06:00
2016-09-20 18:46:36 -06:00
2016-08-14 12:12:36 -06:00
2016-10-01 00:57:13 -06:00
2016-09-21 15:53:31 -06:00
2016-10-11 13:22:22 -07:00
2016-09-20 17:58:46 -06:00
2016-09-26 22:16:41 +05:30
2016-10-11 15:06:32 -07:00
2016-08-14 11:52:40 -06:00
2016-09-21 15:41:50 -06:00
2016-09-20 18:46:36 -06:00
2016-10-11 16:19:17 -06:00
2016-07-20 16:45:37 -06:00
2016-09-20 18:54:42 -06:00
2016-10-04 13:54:07 -07:00
2016-10-14 13:19:30 -07:00
2016-08-03 15:43:58 -06:00
2016-08-15 10:19:11 -06:00
2016-09-20 08:58:27 -06:00
2016-10-10 07:12:02 -06:00
2016-09-01 08:49:23 -06:00
2016-09-20 18:41:04 -06:00
2016-08-12 08:24:13 +02:00
2016-07-27 12:38:00 +09:30
2016-08-05 11:21:36 -07:00
2016-10-02 22:50:21 -07:00
2016-09-20 18:41:04 -06:00
2016-09-20 18:41:04 -06:00
2016-09-21 15:43:09 -06:00
2016-09-07 09:41:11 +01:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-08-11 15:33:24 +05:30
2016-08-31 13:20:16 +02:00