Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3917453imm; Mon, 8 Oct 2018 11:39:30 -0700 (PDT) X-Google-Smtp-Source: ACcGV62yZiwHWSd/xFTQnNx/DPSBmPC2Jrjw6KuPBksQHsm37yDgg5iSUVCkU1iqxuWeQ+Y4YhaL X-Received: by 2002:a17:902:b581:: with SMTP id a1-v6mr1359799pls.197.1539023970039; Mon, 08 Oct 2018 11:39:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539023970; cv=none; d=google.com; s=arc-20160816; b=UCIRiCNkGI0+0G4IjObSNeTgwESXTe1F1rLVPdZyDq+2hVRYH/vy8wt/7CkHDGxNGU 2MJiY/Rx5CF84HVNURtkpOHQECZCgH1CbAQmmsOgw/2Mr//szUYWC1m215ReMpEcO0dH A4isY/fyD94sGEYwv9OOY4uzxRJLun16+xCmYVrHRwni7V+Nft+T09f/9nhALGvuYpnj u4WkD0fG/G202Bk6lLUpkNVlM7ZR2bVKumvWDHL3R7BFgHOTmqRLPXoM0IMUr35C8ahj 1PMrBH03r4BplkEtSppf50/yC5blzYeBXnYmA+z1mIHh20CYrTyPQ8aBuVoF8LvbpY9P 2mwQ== 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:dkim-signature; bh=f4fouQ3A60LY+hsSs5o7jZW29BTwGvEG+DWkNEoL/MI=; b=XJLtYWoE0UT88uBm6h3Iciw+J2hMa+9nWNjmfDo6Tb/Ctw+a+CTPKxpcOIfXEMO0Xe mW7FpIiviXbbsWoHW94nQVzoI6gSYl8q4dAF+NnzqWGg5LrxnyzxH2C54NEGqjy/Szhu fqj9tDDvlfw8BfGjs9zyHECeylVXk2cJcmYlxo6QgHECPtHqeWnLOEdB6jW2PpG+qNBy xJgNImXrKi1pK4S9MyGCAQ6578rAnJ0EuhEtGWpZXSgqaKoFnLxBgkpFIvJgJ/Ts6QyO YtIMthWXcwUd8kwilyZzov2DcxPZkb80b/v+G9yIAwJZAQLOsW/L0oi8K7heqia4h4Oh KlHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=POX1tss3; 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 n15-v6si19048621pgc.143.2018.10.08.11.39.15; Mon, 08 Oct 2018 11:39:30 -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; dkim=pass header.i=@kernel.org header.s=default header.b=POX1tss3; 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 S1728797AbeJIBuN (ORCPT + 99 others); Mon, 8 Oct 2018 21:50:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:36028 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726529AbeJIBuM (ORCPT ); Mon, 8 Oct 2018 21:50:12 -0400 Received: from localhost (ip-213-127-77-176.ip.prioritytelecom.net [213.127.77.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EEED12089D; Mon, 8 Oct 2018 18:37:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539023829; bh=KFiIjLtfhkrqmj9TtU/u9ndlDMNsvkEjEhllDPrQBpY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=POX1tss313yD2oz2aBgC7tQaX27+2vHof++D7VJpo3TYVJMFGAGwNnI1dlkOpOsxx jNgSx+jIyI9rIANbLj0d22x0cLJIpcBNBQ+o/NYfx61B/DYlA6pVqd6bbURfR4uYUA oKw/iQ/3CDUj91kiWShGA85NVssCBvS0ubtofNZk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stephen Rothwell , Steve French , Sasha Levin Subject: [PATCH 4.4 098/113] fs/cifs: suppress a string overflow warning Date: Mon, 8 Oct 2018 20:31:39 +0200 Message-Id: <20181008175536.645892441@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181008175530.864641368@linuxfoundation.org> References: <20181008175530.864641368@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.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Stephen Rothwell [ Upstream commit bcfb84a996f6fa90b5e6e2954b2accb7a4711097 ] A powerpc build of cifs with gcc v8.2.0 produces this warning: fs/cifs/cifssmb.c: In function ‘CIFSSMBNegotiate’: fs/cifs/cifssmb.c:605:3: warning: ‘strncpy’ writing 16 bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] strncpy(pSMB->DialectsArray+count, protocols[i].name, 16); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since we are already doing a strlen() on the source, change the strncpy to a memcpy(). Signed-off-by: Stephen Rothwell Signed-off-by: Steve French Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- fs/cifs/cifssmb.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -577,10 +577,15 @@ CIFSSMBNegotiate(const unsigned int xid, } count = 0; + /* + * We know that all the name entries in the protocols array + * are short (< 16 bytes anyway) and are NUL terminated. + */ for (i = 0; i < CIFS_NUM_PROT; i++) { - strncpy(pSMB->DialectsArray+count, protocols[i].name, 16); - count += strlen(protocols[i].name) + 1; - /* null at end of source and target buffers anyway */ + size_t len = strlen(protocols[i].name) + 1; + + memcpy(pSMB->DialectsArray+count, protocols[i].name, len); + count += len; } inc_rfc1001_len(pSMB, count); pSMB->ByteCount = cpu_to_le16(count);