From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Belloni Subject: Re: [PATCH net-next] phy: mscc: fix printf format Date: Wed, 26 Sep 2018 16:42:19 +0200 Message-ID: <20180926144219.GE16644@piout.net> References: <20180926132021.2933754-1-arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrew Lunn , Florian Fainelli , "David S. Miller" , Quentin Schulz , netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: Arnd Bergmann Return-path: Content-Disposition: inline In-Reply-To: <20180926132021.2933754-1-arnd@arndb.de> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 26/09/2018 15:20:11+0200, Arnd Bergmann wrote: > gcc points out that the length of the temporary buffer may not be sufficient for > large numbers of leds: > > drivers/net/phy/mscc.c: In function 'vsc85xx_probe': > drivers/net/phy/mscc.c:460:45: error: '-mode' directive writing 5 bytes into a region of size between 0 and 9 [-Werror=format-overflow=] > ret = sprintf(led_dt_prop, "vsc8531,led-%d-mode", i); > ^~~~~ > drivers/net/phy/mscc.c:460:9: note: 'sprintf' output between 19 and 28 bytes into a destination of size 22 > ret = sprintf(led_dt_prop, "vsc8531,led-%d-mode", i); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > While we can make a reasonable assumption that the number of LEDs is small, > the cost of making the buffer a little bigger is insignificant as well. > > Fixes: 11bfdabb7ff5 ("net: phy: mscc: factorize code for LEDs mode") > Signed-off-by: Arnd Bergmann Reviewed-by: Alexandre Belloni > --- > drivers/net/phy/mscc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c > index 2d9676d78d3f..7d0384e26c99 100644 > --- a/drivers/net/phy/mscc.c > +++ b/drivers/net/phy/mscc.c > @@ -453,7 +453,7 @@ static int vsc85xx_dt_led_modes_get(struct phy_device *phydev, > u32 *default_mode) > { > struct vsc8531_private *priv = phydev->priv; > - char led_dt_prop[19]; > + char led_dt_prop[28]; > int i, ret; > > for (i = 0; i < priv->nleds; i++) { > -- > 2.18.0 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com