Skip to content

Commit 6a2edea

Browse files
Merge pull request #75 from lazy404/ipv6Fix
sysdig fails to start if ipv6 is disabled
2 parents 9c49fd4 + a8584ba commit 6a2edea

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

userspace/libscap/scap_fds.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,14 +1147,22 @@ int32_t scap_fd_read_sockets(scap_t *handle, scap_fdinfo **sockets)
11471147
if(SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs(handle, "/proc/net/tcp", SCAP_L4_TCP, sockets) ||
11481148
SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs(handle, "/proc/net/udp", SCAP_L4_UDP, sockets) ||
11491149
SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs(handle, "/proc/net/raw", SCAP_L4_RAW, sockets) ||
1150-
SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/tcp6", SCAP_L4_TCP, sockets) ||
1151-
SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/udp6", SCAP_L4_UDP, sockets) ||
1152-
SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/raw6", SCAP_L4_RAW, sockets) ||
11531150
SCAP_FAILURE == scap_fd_read_unix_sockets_from_proc_fs(handle, sockets))
11541151
{
11551152
scap_fd_free_table(handle, sockets);
11561153
return SCAP_FAILURE;
11571154
}
1155+
1156+
/* We assume if there is /proc/net/tcp6 that ipv6 is avaiable */
1157+
if(0 == access("/proc/net/tcp6", R_OK)) {
1158+
if(SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/tcp6", SCAP_L4_TCP, sockets) ||
1159+
SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/udp6", SCAP_L4_UDP, sockets) ||
1160+
SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs(handle, "/proc/net/raw6", SCAP_L4_RAW, sockets))
1161+
{
1162+
scap_fd_free_table(handle, sockets);
1163+
return SCAP_FAILURE;
1164+
}
1165+
}
11581166
return SCAP_SUCCESS;
11591167
}
11601168

0 commit comments

Comments
 (0)