]> git.itanic.dy.fi Git - linux-stable/commit
tcp: Fix -Wc23-extensions in tcp_options_write()
authorNathan Chancellor <nathan@kernel.org>
Mon, 6 Nov 2023 21:14:16 +0000 (14:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Nov 2023 22:23:56 +0000 (22:23 +0000)
commit7425627b2b2cd671d5bf6541ce50f7cba8a76ad6
tree57ac459eeed37c83799e32c4abeaba750bc793f6
parentc542b39b607dc0619e3b1b36e289600a555c4774
tcp: Fix -Wc23-extensions in tcp_options_write()

Clang warns (or errors with CONFIG_WERROR=y) when CONFIG_TCP_AO is set:

  net/ipv4/tcp_output.c:663:2: error: label at end of compound statement is a C23 extension [-Werror,-Wc23-extensions]
    663 |         }
        |         ^
  1 error generated.

On earlier releases (such as clang-11, the current minimum supported
version for building the kernel) that do not support C23, this was a
hard error unconditionally:

  net/ipv4/tcp_output.c:663:2: error: expected statement
          }
          ^
  1 error generated.

While adding a semicolon after the label would resolve this, it is more
in line with the kernel as a whole to refactor this block into a
standalone function, which means the goto a label construct can just be
replaced with a return statement. Do so to resolve the warning.

Closes: https://github.com/ClangBuiltLinux/linux/issues/1953
Fixes: 1e03d32bea8e ("net/tcp: Add TCP-AO sign to outgoing packets")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Dmitry Safonov <dima@arista.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c