By passing a limit of 2 bytes to strncat, GCC 8 thinks that strncat is limited to writing fewer bytes than what it's supposed to append to the name here. However, strncat appends n+1 bytes to the destination, so this is correct even though it doesn't look right.
Since the bounds are checked on the line above this, just remove the string bounds checks entirely to silence the warning since they're unneeded. Signed-off-by: Sultan Alsawaf <sultan...@gmail.com> --- net/ipv4/ip_tunnel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 38d906baf1df..c4f5602308ed 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -261,8 +261,8 @@ static struct net_device *__ip_tunnel_create(struct net *net, } else { if (strlen(ops->kind) > (IFNAMSIZ - 3)) goto failed; - strlcpy(name, ops->kind, IFNAMSIZ); - strncat(name, "%d", 2); + strcpy(name, ops->kind); + strcat(name, "%d"); } ASSERT_RTNL(); -- 2.17.1