Received: by 10.223.185.116 with SMTP id b49csp1069913wrg; Fri, 23 Feb 2018 11:22:00 -0800 (PST) X-Google-Smtp-Source: AH8x2255a/Di/8Zbs8Osb8DngEDfaP2mspuVUkfy8Cazi3VE7MO3bx374I+mrc0T8PGHUMk3FokE X-Received: by 10.101.71.202 with SMTP id f10mr2178643pgs.91.1519413720872; Fri, 23 Feb 2018 11:22:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519413720; cv=none; d=google.com; s=arc-20160816; b=xa+FwT8dkqkqkKWUbtM0iO+wAyK4awh9IBy10pulG3/qXSF+EJ99v7z2O9B2tAPGTA F7CS2n8CuKdg0P2kRe6lPQW6k8Bfk/XgywitttvT5o2Isk/5hYtThBb5d3p4KM25AHWS dTpBN7l0Alrdq28dAQOUdOCU7h+mnNmtX63WU7RBYoB7XjXKNU0SxPidy7jgjF597jh/ pQf8jhv4av2/b7lCcsnmC0REvIzv1+rwHqdkl9Hs3Yj+9JbKjG/pa4LSmNdn6YudUpU/ X+2EkvdaIDqiWLq7GXsdqmtNnOznoKXsuI/pg4ueaGylGV723OtRXtrJiJ/oEBGN4UPv 46iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=eoy51EFiKkkOysNlei1OFLWKNbD2Ng/4FCEUH7bmyTo=; b=Bnl2nilN5uBZBs9ProW+A+CMG2LqkjHhTBgagk62jBQr7QXXctCPelpBmS09pitOm0 bulEVTCgpx9S3MBuutx6ZECo22d6RAL6BiD7UD/0gVNoK71rkkvaSdETCVwgqNhWjAT9 Dlri7s1ID9lVw9bmD8l3O+ZBKzbXcXoE+fuXxp4xmsnJxK6hHj+nssx/vDRyqPPX70od otbel2oCLmyrUw2EwURcqSi7siWRn6Gp6j1zpT3UeGy9t1EhUj9RRl5jKuv1bRK8ANnT r05Alst42nonlpHGgiAFOJUWQCcCG8b943BGYShO/F3437RiMbeuOIlIUoNywIWI6F9S EQZQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t192si1834766pgc.594.2018.02.23.11.21.46; Fri, 23 Feb 2018 11:22:00 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964940AbeBWSyU (ORCPT + 99 others); Fri, 23 Feb 2018 13:54:20 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:47692 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964920AbeBWSyP (ORCPT ); Fri, 23 Feb 2018 13:54:15 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id B69C811E9; Fri, 23 Feb 2018 18:54:14 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stefan Haberland , Jan Hoeppner , Martin Schwidefsky , Sasha Levin Subject: [PATCH 4.14 108/159] s390/dasd: prevent prefix I/O error Date: Fri, 23 Feb 2018 19:26:56 +0100 Message-Id: <20180223170756.446352978@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180223170743.086611315@linuxfoundation.org> References: <20180223170743.086611315@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Stefan Haberland [ Upstream commit da340f921d3454f1521671c7a5a43ad3331fbe50 ] Prevent that a prefix flag is set based on invalid configuration data. The validity.verify_base flag should only be set for alias devices. Usually the unit address type is either one of base, PAV alias or HyperPAV alias. But in cases where the unit address type is not set or any other value the validity.verify_base flag might be set as well. This would lead to follow on errors. Explicitly check for alias devices and set the validity flag only for them. Signed-off-by: Stefan Haberland Reviewed-by: Jan Hoeppner Signed-off-by: Martin Schwidefsky Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/s390/block/dasd_eckd.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c @@ -530,10 +530,12 @@ static int prefix_LRE(struct ccw1 *ccw, pfxdata->validity.define_extent = 1; /* private uid is kept up to date, conf_data may be outdated */ - if (startpriv->uid.type != UA_BASE_DEVICE) { + if (startpriv->uid.type == UA_BASE_PAV_ALIAS) pfxdata->validity.verify_base = 1; - if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) - pfxdata->validity.hyper_pav = 1; + + if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) { + pfxdata->validity.verify_base = 1; + pfxdata->validity.hyper_pav = 1; } rc = define_extent(NULL, dedata, trk, totrk, cmd, basedev, blksize); @@ -3414,10 +3416,12 @@ static int prepare_itcw(struct itcw *itc pfxdata.validity.define_extent = 1; /* private uid is kept up to date, conf_data may be outdated */ - if (startpriv->uid.type != UA_BASE_DEVICE) { + if (startpriv->uid.type == UA_BASE_PAV_ALIAS) + pfxdata.validity.verify_base = 1; + + if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) { pfxdata.validity.verify_base = 1; - if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) - pfxdata.validity.hyper_pav = 1; + pfxdata.validity.hyper_pav = 1; } switch (cmd) {