]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
libsystemd-network: check that errno==0 is not passed to log functions
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 21:30:27 +0000 (23:30 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 21:32:10 +0000 (23:32 +0200)
src/libsystemd-network/dhcp-internal.h
src/libsystemd-network/dhcp-server-internal.h
src/libsystemd-network/dhcp6-internal.h
src/libsystemd-network/lldp-internal.h
src/libsystemd-network/ndisc-internal.h
src/libsystemd-network/radv-internal.h
src/libsystemd-network/sd-ipv4acd.c
src/libsystemd-network/sd-ipv4ll.c
src/shared/log-link.h

index ee2ce2b250951eef82c3e1f3857c01e6e165b22d..e5be7c5a63b5dab09b6895feb5af6c0fabd64788 100644 (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__)
index 67c1cf4605a482d6252d121201e22e6e7090b51a..b905791f3c2aeed671f0117a8a29ef375ff331aa 100644 (file)
@@ -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__)
index 2b61a7bb3b792b009f72e5e8601309af88684ef6..1e5a6b0e3779be0cf250bfc8f00c0c80e6c19d85 100644 (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__)
index 8846fa5323f6be2b9d371767fc0396b90e5cab45..cf0578c5c2958a5b45a0450554c6c8562c2c3254 100644 (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__)
index 490305c32936774e99e52877845d69132195d8a0..d43b5753526cf3f6957e0766365dcb8bccc1fa78 100644 (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__)
index 7586ce67555ff96827ed89fc2359b6cb1da8ce2e..209425548baac1a5f6dbfcdbcbc0e21cd76f1412 100644 (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__)
index a2f3ab4921c55cf70e3bfe09671a6f45ee38b6e6..b4af60741a13cd35321103b2f248a0781e3759fc 100644 (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",
index 448449059ef3105f18a60aefefa20e0f25d28553..8053afee938896e6a0ef22b398c6646fbc56d66c 100644 (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);
 
index 20eab4cc045b22031029650f4dd825c0e1f55718..51eaa0c06e28c13e444e7f37fbe0f923ec8ad696 100644 (file)
                 -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':