Message ID | 20241008160134.69934-1-brgl@bgdev.pl |
---|---|
State | New |
Headers | show |
Series | [v2] mmc: mmc_spi: drop buggy snprintf() | expand |
On Tue, 8 Oct 2024 at 18:01, Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > GCC 13 complains about the truncated output of snprintf(): > > drivers/mmc/host/mmc_spi.c: In function ‘mmc_spi_response_get’: > drivers/mmc/host/mmc_spi.c:227:64: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=] > 227 | snprintf(tag, sizeof(tag), " ... CMD%d response SPI_%s", > | ^ > drivers/mmc/host/mmc_spi.c:227:9: note: ‘snprintf’ output between 26 and 43 bytes into a destination of size 32 > 227 | snprintf(tag, sizeof(tag), " ... CMD%d response SPI_%s", > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 228 | cmd->opcode, maptype(cmd)); > > Drop it and fold the string it generates into the only place where it's > emitted - the dev_dbg() call at the end of the function. > > Fixes: 15a0580ced08 ("mmc_spi host driver") > Suggested-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Applied for next, thanks! Kind regards Uffe > --- > - instead of fixing the buffer size, just drop the snprintf() call > altogether > > drivers/mmc/host/mmc_spi.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c > index 8fee7052f2ef..47443fb5eb33 100644 > --- a/drivers/mmc/host/mmc_spi.c > +++ b/drivers/mmc/host/mmc_spi.c > @@ -222,10 +222,6 @@ static int mmc_spi_response_get(struct mmc_spi_host *host, > u8 leftover = 0; > unsigned short rotator; > int i; > - char tag[32]; > - > - snprintf(tag, sizeof(tag), " ... CMD%d response SPI_%s", > - cmd->opcode, maptype(cmd)); > > /* Except for data block reads, the whole response will already > * be stored in the scratch buffer. It's somewhere after the > @@ -378,8 +374,9 @@ static int mmc_spi_response_get(struct mmc_spi_host *host, > } > > if (value < 0) > - dev_dbg(&host->spi->dev, "%s: resp %04x %08x\n", > - tag, cmd->resp[0], cmd->resp[1]); > + dev_dbg(&host->spi->dev, > + " ... CMD%d response SPI_%s: resp %04x %08x\n", > + cmd->opcode, maptype(cmd), cmd->resp[0], cmd->resp[1]); > > /* disable chipselect on errors and some success cases */ > if (value >= 0 && cs_on) > -- > 2.43.0 >
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c index 8fee7052f2ef..47443fb5eb33 100644 --- a/drivers/mmc/host/mmc_spi.c +++ b/drivers/mmc/host/mmc_spi.c @@ -222,10 +222,6 @@ static int mmc_spi_response_get(struct mmc_spi_host *host, u8 leftover = 0; unsigned short rotator; int i; - char tag[32]; - - snprintf(tag, sizeof(tag), " ... CMD%d response SPI_%s", - cmd->opcode, maptype(cmd)); /* Except for data block reads, the whole response will already * be stored in the scratch buffer. It's somewhere after the @@ -378,8 +374,9 @@ static int mmc_spi_response_get(struct mmc_spi_host *host, } if (value < 0) - dev_dbg(&host->spi->dev, "%s: resp %04x %08x\n", - tag, cmd->resp[0], cmd->resp[1]); + dev_dbg(&host->spi->dev, + " ... CMD%d response SPI_%s: resp %04x %08x\n", + cmd->opcode, maptype(cmd), cmd->resp[0], cmd->resp[1]); /* disable chipselect on errors and some success cases */ if (value >= 0 && cs_on)