Skip to content

Commit 7c57981

Browse files
ankitkhushwahaNipaLocal
authored andcommitted
selftests: mptcp: Mark xerror and die_perror __noreturn
Compiler reports potential uses of uninitialized variables in mptcp_connect.c when xerror() is called from failure paths. mptcp_connect.c:1262:11: warning: variable 'raw_addr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] xerror() terminates execution by calling exit(), but it is not visible to the compiler & assumes control flow may continue past the call. Annotate xerror() with __noreturn so the compiler can correctly reason about control flow and avoid false-positive uninitialized variable warnings. Signed-off-by: Ankit Khushwaha <ankitkhushwaha.linux@gmail.com> Signed-off-by: NipaLocal <nipa@local>
1 parent d2e60a3 commit 7c57981

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

tools/testing/selftests/net/mptcp/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
top_srcdir = ../../../../..
44

55
CFLAGS += -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES)
6+
CFLAGS += -I$(top_srcdir)/tools/include
67

78
TEST_PROGS := \
89
diag.sh \

tools/testing/selftests/net/mptcp/mptcp_connect.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <linux/tcp.h>
3434
#include <linux/time_types.h>
3535
#include <linux/sockios.h>
36+
#include <linux/compiler.h>
3637

3738
extern int optind;
3839

@@ -140,7 +141,7 @@ static void die_usage(void)
140141
exit(1);
141142
}
142143

143-
static void xerror(const char *fmt, ...)
144+
static void __noreturn xerror(const char *fmt, ...)
144145
{
145146
va_list ap;
146147

tools/testing/selftests/net/mptcp/mptcp_diag.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <linux/rtnetlink.h>
66
#include <linux/inet_diag.h>
77
#include <linux/netlink.h>
8+
#include <linux/compiler.h>
89
#include <sys/socket.h>
910
#include <netinet/in.h>
1011
#include <linux/tcp.h>
@@ -87,7 +88,7 @@ enum {
8788

8889
#define rta_getattr(type, value) (*(type *)RTA_DATA(value))
8990

90-
static void die_perror(const char *msg)
91+
static void __noreturn die_perror(const char *msg)
9192
{
9293
perror(msg);
9394
exit(1);

tools/testing/selftests/net/mptcp/mptcp_inq.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#include <linux/tcp.h>
3030
#include <linux/sockios.h>
31+
#include <linux/compiler.h>
3132

3233
#ifndef IPPROTO_MPTCP
3334
#define IPPROTO_MPTCP 262
@@ -40,7 +41,7 @@ static int pf = AF_INET;
4041
static int proto_tx = IPPROTO_MPTCP;
4142
static int proto_rx = IPPROTO_MPTCP;
4243

43-
static void die_perror(const char *msg)
44+
static void __noreturn die_perror(const char *msg)
4445
{
4546
perror(msg);
4647
exit(1);
@@ -52,7 +53,7 @@ static void die_usage(int r)
5253
exit(r);
5354
}
5455

55-
static void xerror(const char *fmt, ...)
56+
static void __noreturn xerror(const char *fmt, ...)
5657
{
5758
va_list ap;
5859

tools/testing/selftests/net/mptcp/mptcp_sockopt.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <netinet/in.h>
2626

2727
#include <linux/tcp.h>
28+
#include <linux/compiler.h>
2829

2930
static int pf = AF_INET;
3031

@@ -127,7 +128,7 @@ struct so_state {
127128
#define MIN(a, b) ((a) < (b) ? (a) : (b))
128129
#endif
129130

130-
static void die_perror(const char *msg)
131+
static void __noreturn die_perror(const char *msg)
131132
{
132133
perror(msg);
133134
exit(1);
@@ -139,7 +140,7 @@ static void die_usage(int r)
139140
exit(r);
140141
}
141142

142-
static void xerror(const char *fmt, ...)
143+
static void __noreturn xerror(const char *fmt, ...)
143144
{
144145
va_list ap;
145146

0 commit comments

Comments
 (0)