Michael Ellerman
44a12806d0
Revert "powerpc/64: Avoid restore_math call if possible in syscall exit"
This reverts commit bc4f65e4cf
.
As reported by Andreas, this commit is causing unrecoverable SLB misses in the
system call exit path:
Unrecoverable exception 4100 at c00000000000a1ec
Oops: Unrecoverable exception, sig: 6 [#1]
SMP NR_CPUS=2 PowerMac
...
CPU: 0 PID: 18626 Comm: rm Not tainted 4.13.0-rc3 #1
task: c00000018335e080 task.stack: c000000139e50000
NIP: c00000000000a1ec LR: c00000000000a118 CTR: 0000000000000000
REGS: c000000139e53bb0 TRAP: 4100 Not tainted (4.13.0-rc3)
MSR: 9000000000001030 <SF,HV,ME,IR,DR> CR: 24000044 XER: 20000000 SOFTE: 1
GPR00: 0000000000000000 c000000139e53e30 c000000000abb500 fffffffffffffffe
GPR04: c0000001eb866298 0000000000000000 0000000000000000 c00000018335e080
GPR08: 900000000000d032 0000000000000000 0000000000000002 fffffffffffff001
GPR12: c000000139e50000 c00000000ffff000 00003fffa8c0dca0 00003fffa8c0dc88
GPR16: 0000000010000000 0000000000000001 00003fffa8c0eaa0 0000000000000000
GPR20: 00003fffa8c27528 00003fffa8c27b00 0000000000000000 0000000000000000
GPR24: 00003fffa8c0d918 00003ffff1b3efa0 00003fffa8c26d68 0000000000000000
GPR28: 00003fffa8c249e8 00003fffa8c263d0 00003fffa8c27550 00003ffff1b3ef10
NIP [c00000000000a1ec] system_call_exit+0xc0/0x21c
LR [c00000000000a118] system_call+0x58/0x6c
Call Trace:
[c000000139e53e30] [c00000000000a118] system_call+0x58/0x6c (unreliable)
Instruction dump:
64a51000 7c6300d0 f8a101a0 4bffff9c 3c000000 60000006 780007c6 64000000
60000000 7c004039 4082001c e8ed0170 <88070b78> 88c70b79 7c003214 2c200000
This is caused by us trying to load THREAD_LOAD_FP with MSR_RI=0, and taking an
SLB miss on the thread struct.
Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Diagnosed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-08-07 21:36:56 +10:00
..
2017-06-16 19:49:43 +10:00
2016-08-10 23:04:12 +10:00
2016-09-29 15:17:57 +10:00
2017-04-04 23:16:57 +10:00
2017-07-07 13:55:45 -07:00
2016-05-01 18:32:32 +10:00
2015-04-11 20:49:28 +10:00
2016-06-14 13:58:26 +10:00
2016-03-04 23:44:51 -06:00
2017-07-11 12:53:53 +10:00
2017-05-25 23:07:45 +10:00
2016-12-24 11:46:01 -08:00
2017-05-08 17:15:11 -07:00
2017-04-13 23:34:33 +10:00
2017-06-28 06:54:33 -07:00
2017-01-24 12:23:35 -05:00
2017-06-28 06:54:55 -07:00
2017-07-11 12:53:53 +10:00
2016-07-08 22:09:50 +10:00
2016-06-21 15:30:56 +10:00
2017-05-02 22:41:43 +10:00
2016-11-22 11:57:07 +11:00
2016-11-22 11:57:07 +11:00
2014-11-27 09:32:58 +11:00
2017-04-11 07:46:03 +10:00
2017-04-27 22:20:29 +10:00
2017-08-07 21:36:56 +10:00
2016-08-07 23:50:09 -04:00
2014-06-10 18:54:22 -07:00
2017-04-30 01:05:18 -05:00
2017-07-31 20:22:37 +10:00
2017-07-12 16:25:59 -07:00
2016-10-14 14:26:58 -07:00
2015-08-07 23:00:01 -05:00
2017-01-26 17:49:34 -06:00
2017-03-21 22:09:26 +11:00
2016-08-07 23:50:09 -04:00
2016-08-07 23:50:09 -04:00
2017-03-20 19:02:49 +11:00
2016-08-07 23:50:09 -04:00
2017-02-18 21:37:14 +11:00
2017-08-04 12:52:26 +10:00
2015-06-02 21:37:19 -05:00
2016-12-20 09:48:44 -08:00
2017-03-02 08:42:37 +01:00
2017-01-31 13:54:17 +11:00
2017-06-28 06:54:33 -07:00
2017-08-04 12:55:49 +10:00
2017-01-31 13:54:17 +11:00
2015-08-03 11:34:12 +02:00
2016-12-20 09:48:44 -08:00
2016-02-18 00:03:26 +11:00
2017-04-24 19:07:58 +10:00
2017-07-09 10:49:47 -07:00
2017-07-12 16:26:02 -07:00
2017-01-31 13:54:18 +11:00
2016-11-30 23:15:26 +11:00
2016-12-20 09:48:44 -08:00
2016-05-11 21:54:04 +10:00
2017-07-12 16:26:02 -07:00
2017-07-11 12:53:53 +10:00
2017-07-07 13:55:45 -07:00
2017-06-02 19:20:43 +10:00
2017-07-10 21:07:38 +10:00
2016-08-07 23:50:09 -04:00
2016-03-07 14:53:53 +11:00
2017-02-03 08:28:25 -08:00
2016-12-24 11:46:01 -08:00
2015-06-02 11:47:45 +10:00
2017-06-27 17:02:50 -07:00
2016-11-25 14:07:51 +11:00
2017-02-23 08:23:30 +11:00
2017-07-03 23:12:19 +10:00
2017-04-01 21:12:27 +11:00
2016-12-24 11:46:01 -08:00
2016-07-15 14:57:47 +10:00
2016-07-07 16:33:27 +10:00
2016-09-20 20:57:12 +10:00
2017-04-28 10:34:34 -05:00
2016-05-11 21:54:26 +10:00
2016-12-24 11:46:01 -08:00
2017-08-07 21:36:56 +10:00
2014-09-25 23:14:46 +10:00
2017-07-12 16:26:03 -07:00
2017-05-25 23:07:44 +10:00
2016-12-24 11:46:01 -08:00
2017-07-28 15:56:06 +10:00
2016-12-24 11:46:01 -08:00
2015-04-11 20:49:09 +10:00
2016-12-24 11:46:01 -08:00
2017-01-25 13:34:21 +11:00
2017-06-23 09:32:11 +02:00
2017-02-06 19:46:04 +11:00
2017-07-12 16:26:02 -07:00
2017-07-03 23:05:43 +10:00
2016-07-21 19:17:46 +10:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2017-03-08 09:20:19 +01:00
2016-10-04 20:33:16 +11:00
2017-07-31 20:20:29 +10:00
2017-03-28 14:43:59 +11:00
2014-10-09 22:26:04 -04:00
2017-03-02 08:42:30 +01:00
2017-03-20 19:02:49 +11:00
2016-12-24 11:46:01 -08:00
2017-04-12 22:32:43 +10:00
2017-05-03 14:45:38 +10:00
2015-11-26 22:11:17 +11:00
2015-11-26 22:11:17 +11:00
2015-03-28 22:03:40 +11:00
2017-07-02 20:40:24 +10:00
2017-06-27 12:09:09 +10:00
2017-07-03 23:12:01 +10:00
2014-11-12 13:47:20 +11:00
2015-04-07 17:15:13 +10:00
2017-02-06 19:46:04 +11:00
2016-12-24 11:46:01 -08:00
2016-10-14 14:26:58 -07:00
2017-07-03 23:12:19 +10:00
2017-07-12 16:26:02 -07:00