tap, tcp, util: Add some missing SOCK_CLOEXEC flags
I have no idea why, but these are reported by clang-tidy (19.2.1) on Alpine (x86) only: /home/sbrivio/passt/tap.c:1139:38: error: 'socket' should use SOCK_CLOEXEC where possible [android-cloexec-socket,-warnings-as-errors] 1139 | int fd = socket(AF_UNIX, SOCK_STREAM, 0); | ^ | | SOCK_CLOEXEC /home/sbrivio/passt/tap.c:1158:51: error: 'socket' should use SOCK_CLOEXEC where possible [android-cloexec-socket,-warnings-as-errors] 1158 | ex = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0); | ^ | | SOCK_CLOEXEC /home/sbrivio/passt/tcp.c:1413:44: error: 'socket' should use SOCK_CLOEXEC where possible [android-cloexec-socket,-warnings-as-errors] 1413 | s = socket(af, SOCK_STREAM | SOCK_NONBLOCK, IPPROTO_TCP); | ^ | | SOCK_CLOEXEC /home/sbrivio/passt/util.c:188:38: error: 'socket' should use SOCK_CLOEXEC where possible [android-cloexec-socket,-warnings-as-errors] 188 | if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { | ^ | | SOCK_CLOEXEC Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
71869e2912
commit
58fa5508bd
3 changed files with 6 additions and 4 deletions
5
tap.c
5
tap.c
|
@ -1136,7 +1136,7 @@ void tap_handler_pasta(struct ctx *c, uint32_t events,
|
||||||
*/
|
*/
|
||||||
int tap_sock_unix_open(char *sock_path)
|
int tap_sock_unix_open(char *sock_path)
|
||||||
{
|
{
|
||||||
int fd = socket(AF_UNIX, SOCK_STREAM, 0);
|
int fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
|
||||||
struct sockaddr_un addr = {
|
struct sockaddr_un addr = {
|
||||||
.sun_family = AF_UNIX,
|
.sun_family = AF_UNIX,
|
||||||
};
|
};
|
||||||
|
@ -1155,7 +1155,8 @@ int tap_sock_unix_open(char *sock_path)
|
||||||
UNIX_SOCK_PATH, i))
|
UNIX_SOCK_PATH, i))
|
||||||
die_perror("Can't build UNIX domain socket path");
|
die_perror("Can't build UNIX domain socket path");
|
||||||
|
|
||||||
ex = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0);
|
ex = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC,
|
||||||
|
0);
|
||||||
if (ex < 0)
|
if (ex < 0)
|
||||||
die_perror("Failed to check for UNIX domain conflicts");
|
die_perror("Failed to check for UNIX domain conflicts");
|
||||||
|
|
||||||
|
|
2
tcp.c
2
tcp.c
|
@ -1410,7 +1410,7 @@ static int tcp_conn_new_sock(const struct ctx *c, sa_family_t af)
|
||||||
{
|
{
|
||||||
int s;
|
int s;
|
||||||
|
|
||||||
s = socket(af, SOCK_STREAM | SOCK_NONBLOCK, IPPROTO_TCP);
|
s = socket(af, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, IPPROTO_TCP);
|
||||||
|
|
||||||
if (s > FD_REF_MAX) {
|
if (s > FD_REF_MAX) {
|
||||||
close(s);
|
close(s);
|
||||||
|
|
3
util.c
3
util.c
|
@ -183,7 +183,8 @@ void sock_probe_mem(struct ctx *c)
|
||||||
int v = INT_MAX / 2, s;
|
int v = INT_MAX / 2, s;
|
||||||
socklen_t sl;
|
socklen_t sl;
|
||||||
|
|
||||||
if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
|
s = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP);
|
||||||
|
if (s < 0) {
|
||||||
c->low_wmem = c->low_rmem = 1;
|
c->low_wmem = c->low_rmem = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue