From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754244AbdGNMMU (ORCPT ); Fri, 14 Jul 2017 08:12:20 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:50352 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753704AbdGNMMP (ORCPT ); Fri, 14 Jul 2017 08:12:15 -0400 From: Arnd Bergmann To: linux-kernel@vger.kernel.org, Derek Chickles , Satanand Burla , Felix Manlunas , Raghu Vatsavayi Cc: Greg Kroah-Hartman , Linus Torvalds , Guenter Roeck , akpm@linux-foundation.org, netdev@vger.kernel.org, "David S . Miller" , "James E . J . Bottomley" , "Martin K . Petersen" , linux-scsi@vger.kernel.org, x86@kernel.org, Arnd Bergmann , Weilin Chang , Prasad Kanneganti Subject: [PATCH 13/22] liquidio: fix possible eeprom format string overflow Date: Fri, 14 Jul 2017 14:07:05 +0200 Message-Id: <20170714120720.906842-14-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170714120720.906842-1-arnd@arndb.de> References: <20170714120720.906842-1-arnd@arndb.de> X-Provags-ID: V03:K0:EX/h095j41LioVeHzcrbQ43WG5O+ZZgW2fLW/9CKuUMFrEenNmK 10yLac02skkRgJa9LITZ+FR6pj2N4RZRoIvHruGMmonzCVBUNaoOcwVUfaEMa96TzVdHJWt AOBND69iH3iJ9EcSTzp1X3q1A9BWH6SMHAiobQc7jNEklXPYl2Ogx89btviV7FMXZFznxI4 ez3xk/HHpsp2Ug6K5LxNw== X-UI-Out-Filterresults: notjunk:1;V01:K0:5b/hsNv8B50=:yUq/y6nWrX9KyU4v05iiHB E58fCLOl8SNOh3xhKfa1I+N+gqk9yrGB8C/BlJbH2CV7nbUsdCke4cTWVTbTmzSEo5b352dx1 5H1aotSu2lqnjNoTfqN38JsABi9x1taXMMJ0ROX66utK2158JHSK87z6RTNn4sTgn1oZWWFx8 BeYbMEqJIP8PjkPIlJK1bdl1//VAs9FRxZFNrbLc85olCK9udLJOYW15cFj+rY33HYIOge5Uq xeNyfar23YfZMBkhbHQl0Q3BOztedKg/ienxpbP0VIq3Or7O6Qo8ijHL92IHVaJP1rjULpDyg 3+it/uBAYJ7/azBrg1shbmYeMin8g5pBrkVTtqi+HN4mlMkFrYlUPdMuR9ZT75T5mLEP5boNC MnbhJS5tOQ6Bj4DPiZRDQtt+ZXP/xhJdXlIO565cdUjvlT38lYF9a33SyBYBTTiS8Bgibot+b cYUn22tGP54ajEPoCbOdXfM60MeKpVZIkbTM8tOg+mc9wPAeV6C66xP/qMryT8+J/GgH9U9kk EN9IVR7O2C69wBibF54672PDlPstWMO70fECWiVtI93wp4hO5apVtByz9T08cWRw/5O1ekSVw gy7A++0vVYe5fhEZh9LW+5zzSUZfbIblzOQX/DZEogqUmBkvWS7uTHD/1iIXBnRUSVnhWUVjZ X77ryFC0w8Q6NdLlECQBkmDTg5wpHZ8QwoMfH7uYiuKzXF2ab8M2d/RfGi9goJchIyahpZUwD 9u6CQ7LhbYm6FwQdAO29CkjJG8QRAH4sqjNMIw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org gcc reports that the temporary buffer for computing the string length may be too small here: drivers/net/ethernet/cavium/liquidio/lio_ethtool.c: In function 'lio_get_eeprom_len': /drivers/net/ethernet/cavium/liquidio/lio_ethtool.c:345:21: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=] len = sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/cavium/liquidio/lio_ethtool.c:345:6: note: 'sprintf' output between 35 and 167 bytes into a destination of size 128 len = sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld\n", This extends it to 192 bytes, which is certainly enough. As far as I could tell, there are no other constraints that require a specific maximum size. Signed-off-by: Arnd Bergmann --- drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c index 28ecda3d3404..ebd353bc78ff 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c @@ -335,7 +335,7 @@ lio_ethtool_get_channels(struct net_device *dev, static int lio_get_eeprom_len(struct net_device *netdev) { - u8 buf[128]; + u8 buf[192]; struct lio *lio = GET_LIO(netdev); struct octeon_device *oct_dev = lio->oct_dev; struct octeon_board_info *board_info; -- 2.9.0