| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Wed, 13 Sep 2017 16:28:26 -0700 |
| Subject: IB/mlx4: fix sprintf format warning |
| |
| commit d0dbf771309fecd73f4ac1566c1400cb12807ee2 upstream. |
| |
| gcc-7 points out that a negative port_num value would overflow the |
| string buffer: |
| |
| drivers/infiniband/hw/mlx4/sysfs.c: In function 'mlx4_ib_device_register_sysfs': |
| drivers/infiniband/hw/mlx4/sysfs.c:251:16: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=] |
| drivers/infiniband/hw/mlx4/sysfs.c:251:2: note: 'sprintf' output between 2 and 11 bytes into a destination of size 10 |
| drivers/infiniband/hw/mlx4/sysfs.c:303:17: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=] |
| drivers/infiniband/hw/mlx4/sysfs.c:303:3: note: 'sprintf' output between 2 and 11 bytes into a destination of size 10 |
| |
| While we should be able to assume that port_num is positive here, making |
| the buffer one byte longer has no downsides and avoids the warning. |
| |
| Fixes: c1e7e466120b ("IB/mlx4: Add iov directory in sysfs under the ib device") |
| Link: http://lkml.kernel.org/r/20170714120720.906842-23-arnd@arndb.de |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Reviewed-by: Leon Romanovsky <leonro@mellanox.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/infiniband/hw/mlx4/sysfs.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/infiniband/hw/mlx4/sysfs.c |
| +++ b/drivers/infiniband/hw/mlx4/sysfs.c |
| @@ -241,7 +241,7 @@ void del_sysfs_port_mcg_attr(struct mlx4 |
| static int add_port_entries(struct mlx4_ib_dev *device, int port_num) |
| { |
| int i; |
| - char buff[10]; |
| + char buff[11]; |
| struct mlx4_ib_iov_port *port = NULL; |
| int ret = 0 ; |
| struct ib_port_attr attr; |