Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp60151yba; Sat, 30 Mar 2019 14:44:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwzAWLMteJK5LFSvcy4DF5RCXuLAKED/3uBri3UgqOVzNwq1lOcZB0EmRMSdf3528cTUOmO X-Received: by 2002:a63:d302:: with SMTP id b2mr53179087pgg.13.1553982262453; Sat, 30 Mar 2019 14:44:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553982262; cv=none; d=google.com; s=arc-20160816; b=NkiQM+26+nPi2rdhyHcXgf5LfmkR7HkX/puGWhSCkOGXr4ogwL7Z/NJiHHSiRO1OqC QJoCTClQEniOaCNdr671CUFu/aZnaOEX7wearnVRyfBqMm/UsUFlKTiCLJqB1axXn8nN Esq+y3Lavx/dkCkzWzll3h1f24y+qUclSXlc9+b/cinibU04+dkwiXDg5QvN2egVYSF6 aXD0WRDtnCj4XbkUamFfNmDdcXpSM5Kilp8hSCYv6KXIiY9Oj2mXpYv1WGZRM/vKW9Pv uUzUhZYGvcCeGAdHd2EZgw32yMCAG/lH38QRGtQ9oSz07pzpkD3KYeMplH3T66n2GAgV jgpw== 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 :message-id:date:subject:cc:to:from; bh=S6oFbCGhK4LGT48F6rSBBoMNdZ08uhw5jeUN5k9VSjM=; b=z1yF2LZ4la4P93MvfZhEBSjASaOyzO3SZoEMwW0y4f+Z9e9+4XAnp0YqVXQ1HkkGxD lOy8YEV5XoFpcrQaloXcTtuDKxJBy4DT0edIm+wPB4DWakU5CeosDkukgkCeFK7c88vS kZFNE3Boc3W5OHRek9tAj8yCIrhCCcVmze77Gl6Bc7AMrS0yes+WghQziKBJ076Y0k1e NgBObv0qsM5yQipC1Cj6BnpMPhPW5VoBEuMI9iHHKvGquJGbIP5PqbC3Lq0VTjl4Nshb BKd/Je7kFMJjsAliST31eGtgP5SZGLyzn01ulS5DHJLnV+bgw4H09w8uAtxDtmYHx0fp gpOA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z10si5240418pgu.172.2019.03.30.14.43.44; Sat, 30 Mar 2019 14:44:22 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730967AbfC3Vmo (ORCPT + 99 others); Sat, 30 Mar 2019 17:42:44 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:57815 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730582AbfC3Vmn (ORCPT ); Sat, 30 Mar 2019 17:42:43 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1hALkP-0004jh-Jx; Sat, 30 Mar 2019 21:42:41 +0000 From: Colin King To: Andrew Lunn , Vivien Didelot , Florian Fainelli , "David S . Miller" , netdev@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: dsa: fix negative loop bound error on for loop Date: Sat, 30 Mar 2019 21:42:41 +0000 Message-Id: <20190330214241.15311-1-colin.king@canonical.com> X-Mailer: git-send-email 2.20.1 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 From: Colin Ian King Currently the for-loop using an unsigned int for the loop counter which is problematic when comparing it to the signed int count This is an issue because if the signed int is negative then the negative loop bound is implicitly cast to an unsigned int on the comparison to loop counter i and will yield a very large value, eventually causing an error when memmove/memcpy'ing outside the allocated region pointed to by ndata. Fix this by simply making the loop counter i a signed int; Fixes: f2f2356685bc ("net: dsa: move master ethtool code") Signed-off-by: Colin Ian King --- net/dsa/master.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net/dsa/master.c b/net/dsa/master.c index c58f33931be1..1b659647a303 100644 --- a/net/dsa/master.c +++ b/net/dsa/master.c @@ -87,8 +87,7 @@ static void dsa_master_get_strings(struct net_device *dev, uint32_t stringset, struct dsa_switch *ds = cpu_dp->ds; int port = cpu_dp->index; int len = ETH_GSTRING_LEN; - int mcount = 0, count; - unsigned int i; + int mcount = 0, count, i; uint8_t pfx[4]; uint8_t *ndata; -- 2.20.1