Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1339319imm; Tue, 2 Oct 2018 06:46:37 -0700 (PDT) X-Google-Smtp-Source: ACcGV60zjxXlrg8rsnVSPryo9tLxIjrVR1Nj/Glad5ASzCa4kHZA72m+93uFUXQ7CmVWzxNK8uGk X-Received: by 2002:a62:fd06:: with SMTP id p6-v6mr16452712pfh.167.1538487997190; Tue, 02 Oct 2018 06:46:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538487997; cv=none; d=google.com; s=arc-20160816; b=IKJ21Fkq6MS/GSUZoQ1qbHvWQ2W0PodZ46rusM+frpEQpfF8cJi3zVuqPWfpLbwxC4 H/jAlrBb/Jhv/RuwAXu8bKynYI/7l7LJi6PBWG4cGqY6yC46YZXQ1t8EfADOXK6Icezy Z1es3781HUMwrxL/61wflRZYOqRL5/hWhDnAAu6l3KUfQvNT9t+dsIkY73EqZbskvnKL nlpk1haPXNhwBO3zsXqPdr//z36V0m93CcPC2HpGP7jX0WCoz6tL1abSi24NSkSkJ4Li P8wYWIb1xGwrwpax3/5hm2cqN1gb9H98uG9GogwKAqLVJ2b0tEGZdyCDToMh30ZtWTYP iIAQ== 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=neQzlDNWT+FmtU4lfRAaOiRpFAmcTNEwiYWKic35ufs=; b=kQ1TKwLpR9TpwBqkgspq6LFuAjm7UR1/dgiaAfhjzmV3C08DNORwcg2488Un3tyqVe x/ljSKEHSLUgNZQJSZ8ZEWNGgRuBiIsWPoYaOYwrJZwLWzkKeoH5tZbWUHv/H1yp/jAb c2lq+bZ18kNJnU/5YAZPSAplYOWh7jt1zVMpUPXDHDchg+0Wj58CXllh4QbNa3eBftYG lZGozWwoZrPBoKmUF+vaacmoZdZMFARTwBgCf95S5ubqsujNcmitIDi+lAoVXNh61aYF 2mQKiHvsPZk5aGp0TXptEZPeRPFhlLoNagpAqE2VCa1d+Qh2Ab0ATaSrNsimhaWfO86B Ovpw== 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 z1-v6si12458675plb.131.2018.10.02.06.46.22; Tue, 02 Oct 2018 06:46:37 -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 S1733167AbeJBU1k (ORCPT + 99 others); Tue, 2 Oct 2018 16:27:40 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:35858 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732850AbeJBUTP (ORCPT ); Tue, 2 Oct 2018 16:19:15 -0400 Received: from localhost (24-104-73-23-ip-static.hfc.comcastbusiness.net [24.104.73.23]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id C98EBC3F; Tue, 2 Oct 2018 13:35:50 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Bart Van Assche , Tyrel Datwyler , Breno Leitao , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.9 24/94] scsi: ibmvscsi: Improve strings handling Date: Tue, 2 Oct 2018 06:24:38 -0700 Message-Id: <20181002132502.191082577@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002132500.494838053@linuxfoundation.org> References: <20181002132500.494838053@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.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Breno Leitao [ Upstream commit 1262dc09dc9ae7bf4ad00b6a2c5ed6a6936bcd10 ] Currently an open firmware property is copied into partition_name variable without keeping a room for \0. Later one, this variable (partition_name), which is 97 bytes long, is strncpyed into ibmvcsci_host_data->madapter_info->partition_name, which is 96 bytes long, possibly truncating it 'again' and removing the \0. This patch simply decreases the partition name to 96 and just copy using strlcpy() which guarantees that the string is \0 terminated. I think there is no issue if this there is a truncation in this very first copy, i.e, when the open firmware property is read and copied into the driver for the very first time; This issue also causes the following warning on GCC 8: drivers/scsi/ibmvscsi/ibmvscsi.c:281:2: warning: strncpy output may be truncated copying 96 bytes from a string of length 96 [-Wstringop-truncation] ... inlined from ibmvscsi_probe at drivers/scsi/ibmvscsi/ibmvscsi.c:2221:7: drivers/scsi/ibmvscsi/ibmvscsi.c:265:3: warning: strncpy specified bound 97 equals destination size [-Wstringop-truncation] CC: Bart Van Assche CC: Tyrel Datwyler Signed-off-by: Breno Leitao Acked-by: Tyrel Datwyler Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/ibmvscsi/ibmvscsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -93,7 +93,7 @@ static int max_requests = IBMVSCSI_MAX_R static int max_events = IBMVSCSI_MAX_REQUESTS_DEFAULT + 2; static int fast_fail = 1; static int client_reserve = 1; -static char partition_name[97] = "UNKNOWN"; +static char partition_name[96] = "UNKNOWN"; static unsigned int partition_number = -1; static struct scsi_transport_template *ibmvscsi_transport_template; @@ -259,7 +259,7 @@ static void gather_partition_info(void) ppartition_name = of_get_property(of_root, "ibm,partition-name", NULL); if (ppartition_name) - strncpy(partition_name, ppartition_name, + strlcpy(partition_name, ppartition_name, sizeof(partition_name)); p_number_ptr = of_get_property(of_root, "ibm,partition-no", NULL); if (p_number_ptr)