Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp4533922imm; Mon, 17 Sep 2018 16:01:52 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZwlAXrPkKcouv9rubIWh9hQribrhVlH0Xo/8fPZYrgA8cgMOPpvvc4qljYnATsYtfQVihx X-Received: by 2002:a62:9101:: with SMTP id l1-v6mr27846623pfe.226.1537225312042; Mon, 17 Sep 2018 16:01:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537225312; cv=none; d=google.com; s=arc-20160816; b=wQ2C5UMDDzeG0jl0GUctm7B8g/78iB5oIg2QvLzerxU+CNvZh4uMXTwX+qj8H+JwWj 4C7JN2t0F+tnSxbYSjYrvsM4aND3j9rktHDeCpS7k5agRRIzn8fTATi4VuN56xtl+Hbi Cs0XE77wOkkoNXj+V4AOllpfHUhF/gaszJMx9imUQ+H7aEQh6B1TWEQMhapf0lBMr75X Wqia7C+ZIGRWMNXXAsBlgMuv1GjS2kXpJR5mIEUTu1WXxEBP/NWNkOgAe0cxRwmWTBPx 7FaZeR7YvlVFRGxzgfemq2QzaqoD+FgEH1PiySmSA7JCil2V3y43oF1dXsmmwkaWAMtB VyBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from; bh=WH5SVZro6hkX+4EwvGQseqpv2YTL1eV28KtGjMo6zoc=; b=zVXU0NP2HA4z5SimBp6ZmsH8grApj8p2gNiNShYXAF/Yr/gAqvh88ufV/nf0FDyRxP mozmHl4TTadg8z9CXdifQOcgLRwetQ7XiPVuLpg+k572WK9glQf2Pt1bPfXlNaabcxXF 5y1NY3Eu22d/8B+lIW8AgmD06WuZ71UxThOT9ED1Pkr5jGDAX+t8N7q8zsbKp+us9V5H AjQWxFfapyye0C/0UdtltzBzoLFRtBa3Jqv73djFR18qSqClZ/n/J5AJLu0aeHRlOnQK Ff689ysuxqqmBKUZ39MmqehO2awq0AIVM7Q40BIyJRdIJRdivQMdzNDJQ2Y1i1Qez8RE RDOg== 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 a27-v6si17592932pfh.164.2018.09.17.16.01.36; Mon, 17 Sep 2018 16:01:52 -0700 (PDT) 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 S1730173AbeIREap (ORCPT + 99 others); Tue, 18 Sep 2018 00:30:45 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:48244 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729405AbeIREap (ORCPT ); Tue, 18 Sep 2018 00:30:45 -0400 Received: from localhost (li1825-44.members.linode.com [172.104.248.44]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 87A13CB2; Mon, 17 Sep 2018 23:01:16 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mike Christie , Bart Van Assche , Christoph Hellwig , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.14 033/126] scsi: target: fix __transport_register_session locking Date: Tue, 18 Sep 2018 00:41:21 +0200 Message-Id: <20180917211706.963651668@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20180917211703.481236999@linuxfoundation.org> References: <20180917211703.481236999@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: Mike Christie [ Upstream commit 6a64f6e1591322beb8ce16e952a53582caf2a15c ] When __transport_register_session is called from transport_register_session irqs will already have been disabled, so we do not want the unlock irq call to enable them until the higher level has done the final spin_unlock_irqrestore/ spin_unlock_irq. This has __transport_register_session use the save/restore call. Signed-off-by: Mike Christie Reviewed-by: Bart Van Assche Reviewed-by: Christoph Hellwig Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/target/target_core_transport.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -317,6 +317,7 @@ void __transport_register_session( { const struct target_core_fabric_ops *tfo = se_tpg->se_tpg_tfo; unsigned char buf[PR_REG_ISID_LEN]; + unsigned long flags; se_sess->se_tpg = se_tpg; se_sess->fabric_sess_ptr = fabric_sess_ptr; @@ -353,7 +354,7 @@ void __transport_register_session( se_sess->sess_bin_isid = get_unaligned_be64(&buf[0]); } - spin_lock_irq(&se_nacl->nacl_sess_lock); + spin_lock_irqsave(&se_nacl->nacl_sess_lock, flags); /* * The se_nacl->nacl_sess pointer will be set to the * last active I_T Nexus for each struct se_node_acl. @@ -362,7 +363,7 @@ void __transport_register_session( list_add_tail(&se_sess->sess_acl_list, &se_nacl->acl_sess_list); - spin_unlock_irq(&se_nacl->nacl_sess_lock); + spin_unlock_irqrestore(&se_nacl->nacl_sess_lock, flags); } list_add_tail(&se_sess->sess_list, &se_tpg->tpg_sess_list);