libsystemd-network: check that errno==0 is not passed to log functions

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2021-04-14 23:32:10 +02:00
parent a0c2541b6b
commit 00dd6d7770
9 changed files with 47 additions and 16 deletions
+5 -2
View File
@@ -67,9 +67,12 @@ int dhcp_packet_verify_headers(DHCPPacket *packet, size_t len, bool checksum, ui
_cleanup_(sd_dhcp_client_unrefp) _unused_ sd_dhcp_client *_dont_destroy_##client = sd_dhcp_client_ref(client)
#define log_dhcp_client_errno(client, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"DHCPv4 client: ", \
sd_dhcp_client_get_ifname(client), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp_client(client, fmt, ...) \
log_dhcp_client_errno(client, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"DHCPv4 client: ", \
sd_dhcp_client_get_ifname(client), \
0, fmt, ##__VA_ARGS__)
@@ -99,9 +99,12 @@ void client_id_hash_func(const DHCPClientId *p, struct siphash *state);
int client_id_compare_func(const DHCPClientId *a, const DHCPClientId *b);
#define log_dhcp_server_errno(server, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"DHCPv4 server: ", \
sd_dhcp_server_get_ifname(server), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp_server(server, fmt, ...) \
log_dhcp_server_errno(server, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"DHCPv4 server: ", \
sd_dhcp_server_get_ifname(server), \
0, fmt, ##__VA_ARGS__)
+5 -2
View File
@@ -120,9 +120,12 @@ const char *dhcp6_message_status_to_string(int s) _const_;
int dhcp6_message_status_from_string(const char *s) _pure_;
#define log_dhcp6_client_errno(client, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"DHCPv6 client: ", \
sd_dhcp6_client_get_ifname(client), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp6_client(client, fmt, ...) \
log_dhcp6_client_errno(client, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"DHCPv6 client: ", \
sd_dhcp6_client_get_ifname(client), \
0, fmt, ##__VA_ARGS__)
+5 -2
View File
@@ -37,9 +37,12 @@ const char* lldp_event_to_string(sd_lldp_event_t e) _const_;
sd_lldp_event_t lldp_event_from_string(const char *s) _pure_;
#define log_lldp_errno(lldp, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"LLDP: ", \
sd_lldp_get_ifname(lldp), \
error, fmt, ##__VA_ARGS__)
#define log_lldp(lldp, fmt, ...) \
log_lldp_errno(lldp, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"LLDP: ", \
sd_lldp_get_ifname(lldp), \
0, fmt, ##__VA_ARGS__)
+5 -2
View File
@@ -42,9 +42,12 @@ const char* ndisc_event_to_string(sd_ndisc_event_t e) _const_;
sd_ndisc_event_t ndisc_event_from_string(const char *s) _pure_;
#define log_ndisc_errno(ndisc, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"NDISC: ", \
sd_ndisc_get_ifname(ndisc), \
error, fmt, ##__VA_ARGS__)
#define log_ndisc(ndisc, fmt, ...) \
log_ndisc_errno(ndisc, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"NDISC: ", \
sd_ndisc_get_ifname(ndisc), \
0, fmt, ##__VA_ARGS__)
+5 -2
View File
@@ -126,9 +126,12 @@ struct sd_radv_route_prefix {
};
#define log_radv_errno(radv, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"RADV: ", \
sd_radv_get_ifname(radv), \
error, fmt, ##__VA_ARGS__)
#define log_radv(radv, fmt, ...) \
log_radv_errno(radv, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"RADV: ", \
sd_radv_get_ifname(radv), \
0, fmt, ##__VA_ARGS__)
+5 -2
View File
@@ -76,12 +76,15 @@ struct sd_ipv4acd {
};
#define log_ipv4acd_errno(acd, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"IPv4ACD: ", \
sd_ipv4acd_get_ifname(acd), \
error, fmt, ##__VA_ARGS__)
#define log_ipv4acd(acd, fmt, ...) \
log_ipv4acd_errno(acd, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"IPv4ACD: ", \
sd_ipv4acd_get_ifname(acd), \
0, fmt, ##__VA_ARGS__)
static const char * const ipv4acd_state_table[_IPV4ACD_STATE_MAX] = {
[IPV4ACD_STATE_INIT] = "init",
+5 -2
View File
@@ -50,12 +50,15 @@ struct sd_ipv4ll {
};
#define log_ipv4ll_errno(ll, error, fmt, ...) \
log_interface_prefix_full_errno_zerook( \
log_interface_prefix_full_errno( \
"IPv4LL: ", \
sd_ipv4ll_get_ifname(ll), \
error, fmt, ##__VA_ARGS__)
#define log_ipv4ll(ll, fmt, ...) \
log_ipv4ll_errno(ll, 0, fmt, ##__VA_ARGS__)
log_interface_prefix_full_errno_zerook( \
"IPv4LL: ", \
sd_ipv4ll_get_ifname(ll), \
0, fmt, ##__VA_ARGS__)
static void ipv4ll_on_acd(sd_ipv4acd *ll, int event, void *userdata);
+7
View File
@@ -28,6 +28,13 @@
-ERRNO_VALUE(_e); \
})
#define log_interface_prefix_full_errno(prefix, ifname_expr, error, fmt, ...) \
({ \
int _error = (error); \
ASSERT_NON_ZERO(_error); \
log_interface_prefix_full_errno_zerook(prefix, ifname_expr, _error, fmt, ##__VA_ARGS__); \
})
/*
* The following macros append INTERFACE= to the message.
* The macros require a struct named 'Link' which contains 'char *ifname':