diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-04-15 06:55:07 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-05-20 02:58:47 -0400 |
commit | d3a73acbc26a4a81a01a35fd162973e53d0386f5 (patch) | |
tree | 5b8fd3880f3b38575b1a043f3f4f07623a633bd1 /arch/s390/mm | |
parent | beef560b4cdfafb2211a856e1d722540f5151933 (diff) |
s390: split TIF bits into CIF, PIF and TIF bits
The oi and ni instructions used in entry[64].S to set and clear bits
in the thread-flags are not guaranteed to be atomic in regard to other
CPUs. Split the TIF bits into CPU, pt_regs and thread-info specific
bits. Updates on the TIF bits are done with atomic instructions,
updates on CPU and pt_regs bits are done with non-atomic instructions.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/mm')
-rw-r--r-- | arch/s390/mm/fault.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 2f51a998a67e..3f3b35403d0a 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
@@ -415,7 +415,7 @@ static inline int do_exception(struct pt_regs *regs, int access) | |||
415 | * The instruction that caused the program check has | 415 | * The instruction that caused the program check has |
416 | * been nullified. Don't signal single step via SIGTRAP. | 416 | * been nullified. Don't signal single step via SIGTRAP. |
417 | */ | 417 | */ |
418 | clear_tsk_thread_flag(tsk, TIF_PER_TRAP); | 418 | clear_pt_regs_flag(regs, PIF_PER_TRAP); |
419 | 419 | ||
420 | if (notify_page_fault(regs)) | 420 | if (notify_page_fault(regs)) |
421 | return 0; | 421 | return 0; |