Skip to contentSkip to conversation

Patch "s390/chsc: Add exception handler for CHSC instruction" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Mar 12, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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

s390/chsc: Add exception handler for CHSC instruction

to the 4.9-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-chsc-add-exception-handler-for-chsc-instruction.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 77759137248f34864a8f7a58bbcebfcf1047504a Mon Sep 17 00:00:00 2001

From: Peter Oberparleiter <[email protected]>
Date: Mon, 20 Feb 2017 14:52:58 +0100
Subject: s390/chsc: Add exception handler for CHSC instruction

From: Peter Oberparleiter <[email protected]>

commit 77759137248f34864a8f7a58bbcebfcf1047504a upstream.

Prevent kernel crashes due to unhandled exceptions raised by the CHSC instruction which may for example be triggered by invalid ioctl data.

Fixes 64150adf89df ("s390/cio: Introduce generic synchronous CHSC IOCTL")
---
 drivers/s390/cio/ioasm.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/s390/cio/ioasm.c +5 -3
@@ -165,13 +165,15 @@ int tpi(struct tpi_info *addr)
 int chsc(void *chsc_area)
 {
 	typedef struct { char _[4096]; } addr_type;
-	int cc;
+	int cc = -EIO;
 
 	asm volatile(
 		"	.insn	rre,0xb25f0000,%2,0\n"
-		"	ipm	%0\n"
+		"0:	ipm	%0\n"
 		"	srl	%0,28\n"
-		: "=d" (cc), "=m" (*(addr_type *) chsc_area)
+		"1:\n"
+		EX_TABLE(0b, 1b)
+		: "+d" (cc), "=m" (*(addr_type *) chsc_area)
 		: "d" (chsc_area), "m" (*(addr_type *) chsc_area)
 		: "cc");
 	trace_s390_cio_chsc(chsc_area, cc);

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/s390-chsc-add-exception-handler-for-chsc-instruction.patch