Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752686AbbKBUj5 (ORCPT ); Mon, 2 Nov 2015 15:39:57 -0500 Received: from smtprelay0143.hostedemail.com ([216.40.44.143]:35275 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752533AbbKBUjx (ORCPT ); Mon, 2 Nov 2015 15:39:53 -0500 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,joe@perches.com,:::::::::::::::::::::::::,RULES_HIT:41:355:379:541:599:960:966:973:988:989:1260:1277:1311:1313:1314:1345:1359:1373:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2194:2196:2199:2200:2393:2559:2562:2828:2909:3138:3139:3140:3141:3142:3353:3622:3865:3866:3867:3872:4321:4385:4605:5007:6117:6261:6742:7875:7903:7904:8603:10004:10400:10848:11026:11232:11473:11657:11658:11914:12043:12296:12438:12517:12519:12740:13069:13311:13357:21080:30018:30034:30054:30089:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: noise41_72f1ae3472e42 X-Filterd-Recvd-Size: 2751 Message-ID: <1446496788.24485.69.camel@perches.com> Subject: Re: [net-next v4 6/8] dpaa_eth: add ethtool statistics From: Joe Perches To: madalin.bucur@freescale.com Cc: netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, davem@davemloft.net, scottwood@freescale.com, igal.liberman@freescale.com, roy.pledge@freescale.com, ppc@mindchasers.com, pebolle@tiscali.nl, joakim.tjernlund@transmode.se, gregkh@linuxfoundation.org, Ioana Ciornei Date: Mon, 02 Nov 2015 12:39:48 -0800 In-Reply-To: <1446485500-9782-7-git-send-email-madalin.bucur@freescale.com> References: <1446485500-9782-1-git-send-email-madalin.bucur@freescale.com> <1446485500-9782-7-git-send-email-madalin.bucur@freescale.com> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1795 Lines: 49 On Mon, 2015-11-02 at 19:31 +0200, Madalin Bucur wrote: > Add a series of counters to be exported through ethtool: > - add detailed counters for reception errors; > - add detailed counters for QMan enqueue reject events; > - count the number of fragmented skbs received from the stack; > - count all frames received on the Tx confirmation path; > - add congestion group statistics; > - count the number of interrupts for each CPU. [] > diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c [] > +static void dpa_get_strings(struct net_device *net_dev, u32 stringset, u8 *data) > +{ > + unsigned int i, j, num_cpus, size; > + char string_cpu[ETH_GSTRING_LEN]; > + u8 *strings; > + > + strings = data; > + num_cpus = num_online_cpus(); > + size = DPA_STATS_GLOBAL_LEN * ETH_GSTRING_LEN; > + > + for (i = 0; i < DPA_STATS_PERCPU_LEN; i++) { > + for (j = 0; j < num_cpus; j++) { > + snprintf(string_cpu, ETH_GSTRING_LEN, "%s [CPU %d]", > + dpa_stats_percpu[i], j); > + memcpy(strings, string_cpu, ETH_GSTRING_LEN); > + strings += ETH_GSTRING_LEN; > + } > + snprintf(string_cpu, ETH_GSTRING_LEN, "%s [TOTAL]", > + dpa_stats_percpu[i]); > + memcpy(strings, string_cpu, ETH_GSTRING_LEN); > + strings += ETH_GSTRING_LEN; > + } > + memcpy(strings, dpa_stats_global, size); > +} This leaks uninitialized stack via a memcpy of uninitialized string_cpu bytes into user-space. Using char string_cpu[ETH_GSTRING_LEN] = {}; or a memset before each snprintf would fix it. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/