From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932114AbdGNQEh (ORCPT ); Fri, 14 Jul 2017 12:04:37 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:36950 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754672AbdGNQEK (ORCPT ); Fri, 14 Jul 2017 12:04:10 -0400 Date: Fri, 14 Jul 2017 09:04:08 -0700 (PDT) Message-Id: <20170714.090408.1884235496293241466.davem@davemloft.net> To: arnd@arndb.de Cc: linux-kernel@vger.kernel.org, derek.chickles@caviumnetworks.com, satananda.burla@caviumnetworks.com, felix.manlunas@caviumnetworks.com, raghu.vatsavayi@caviumnetworks.com, gregkh@linuxfoundation.org, torvalds@linux-foundation.org, linux@roeck-us.net, akpm@linux-foundation.org, netdev@vger.kernel.org, jejb@linux.vnet.ibm.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, x86@kernel.org, weilin.chang@cavium.com, prasad.kanneganti@cavium.com Subject: Re: [PATCH 13/22] liquidio: fix possible eeprom format string overflow From: David Miller In-Reply-To: <20170714120720.906842-14-arnd@arndb.de> References: <20170714120720.906842-1-arnd@arndb.de> <20170714120720.906842-14-arnd@arndb.de> X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 14 Jul 2017 09:04:09 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnd Bergmann Date: Fri, 14 Jul 2017 14:07:05 +0200 > 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 Applied.