** Summary changed: - kernel: correct restore of high gprs on signal return + s390x: correct restore of high gprs on signal return
** Description changed: == Comment: #0 - Hendrik Brueckner - 2016-02-26 11:02:00 == + Please backport Linux kernel upstream commit ID: + commit 342300cc9cd3428bc6bfe5809bfcc1b9a0f06702 + Author: Martin Schwidefsky <[email protected]> + Date: Fri Feb 19 14:44:14 2016 +0100 + s390/compat: correct restore of high gprs on signal return - + + git commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb + "s390: add support for vector extension" + broke 31-bit compat processes in regard to signal handling. - - The restore_sigregs_ext32() function is used to restore the additional - elements from the user space signal frame. Among the additional elements - are the upper registers halves for 64-bit register support for 31-bit + + + The restore_sigregs_ext32() function is used to restore the + additional + + elements from the user space signal frame. Among the additional + elements + + are the upper registers halves for 64-bit register support for + 31-bit + processes. The copy_from_user that is used to retrieve the high-gprs - array from the user stack uses an incorrect length, 8 bytes instead of + + array from the user stack uses an incorrect length, 8 bytes instead + of + 64 bytes. This causes incorrect upper register halves to get loaded. - + + Cc: [email protected] # 3.8+ + Signed-off-by: Martin Schwidefsky <[email protected]> ** Tags added: s390x -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1550468 Title: s390x: correct restore of high gprs on signal return Status in linux package in Ubuntu: Confirmed Bug description: == Comment: #0 - Hendrik Brueckner - 2016-02-26 11:02:00 == Please backport Linux kernel upstream commit ID: commit 342300cc9cd3428bc6bfe5809bfcc1b9a0f06702 Author: Martin Schwidefsky <[email protected]> Date: Fri Feb 19 14:44:14 2016 +0100 s390/compat: correct restore of high gprs on signal return git commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb "s390: add support for vector extension" broke 31-bit compat processes in regard to signal handling. The restore_sigregs_ext32() function is used to restore the additional elements from the user space signal frame. Among the additional elements are the upper registers halves for 64-bit register support for 31-bit processes. The copy_from_user that is used to retrieve the high- gprs array from the user stack uses an incorrect length, 8 bytes instead of 64 bytes. This causes incorrect upper register halves to get loaded. Cc: [email protected] # 3.8+ Signed-off-by: Martin Schwidefsky <[email protected]> To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1550468/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

