Linux kernel -stable discussions
 help / color / mirror / Atom feed
* Patch "s390/fpu: signals vs. floating point control register" has been added to the 4.4-stable tree
@ 2016-03-01 18:36 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2016-03-01 18:36 UTC (permalink / raw)
  To: schwidefsky, gregkh; +Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    s390/fpu: signals vs. floating point control register

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     s390-fpu-signals-vs.-floating-point-control-register.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From 1b17cb796f5d40ffa239c6926385abd83a77a49b Mon Sep 17 00:00:00 2001
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Date: Fri, 19 Feb 2016 15:29:05 +0100
Subject: s390/fpu: signals vs. floating point control register

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

commit 1b17cb796f5d40ffa239c6926385abd83a77a49b upstream.

git commit 904818e2f229f3d94ec95f6932a6358c81e73d78
"s390/kernel: introduce fpu-internal.h with fpu helper functions"
introduced the fpregs_store / fp_regs_load helper. These function
fail to save and restore the floating pointer control registers.

The effect is that the FPC is not correctly handled on signal
delivery and signal return.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/s390/include/asm/fpu/internal.h |    2 ++
 1 file changed, 2 insertions(+)

--- a/arch/s390/include/asm/fpu/internal.h
+++ b/arch/s390/include/asm/fpu/internal.h
@@ -48,6 +48,7 @@ static inline void convert_fp_to_vx(__ve
 static inline void fpregs_store(_s390_fp_regs *fpregs, struct fpu *fpu)
 {
 	fpregs->pad = 0;
+	fpregs->fpc = fpu->fpc;
 	if (MACHINE_HAS_VX)
 		convert_vx_to_fp((freg_t *)&fpregs->fprs, fpu->vxrs);
 	else
@@ -57,6 +58,7 @@ static inline void fpregs_store(_s390_fp
 
 static inline void fpregs_load(_s390_fp_regs *fpregs, struct fpu *fpu)
 {
+	fpu->fpc = fpregs->fpc;
 	if (MACHINE_HAS_VX)
 		convert_fp_to_vx(fpu->vxrs, (freg_t *)&fpregs->fprs);
 	else


Patches currently in stable-queue which might be from schwidefsky@de.ibm.com are

queue-4.4/s390-kvm-remove-dependency-on-struct-save_area-definition.patch
queue-4.4/s390-fix-normalization-bug-in-exception-table-sorting.patch
queue-4.4/s390-dasd-prevent-incorrect-length-error-under-z-vm-after-pav-changes.patch
queue-4.4/s390-fpu-signals-vs.-floating-point-control-register.patch
queue-4.4/s390-dasd-fix-refcount-for-pav-reassignment.patch
queue-4.4/s390-compat-correct-restore-of-high-gprs-on-signal-return.patch
queue-4.4/s390-dasd-fix-performance-drop.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-03-01 18:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 18:36 Patch "s390/fpu: signals vs. floating point control register" has been added to the 4.4-stable tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox