]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Check that errno passed log_{interface,link}_*_errno() is non-zero
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 20:53:49 +0000 (22:53 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 20:53:49 +0000 (22:53 +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 c5c851c57506526ffb540024b84d83d2d9488822..8eefc02726c126a0848beadf7698c567ed0cb27d 100644 (file)
@@ -70,7 +70,7 @@ int dhcp_packet_verify_headers(DHCPPacket *packet, size_t len, bool checksum, ui
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                 sd_dhcp_client_get_ifname(client),      \
                                 LOG_DEBUG, _e, "DHCPv4 client: " fmt,   \
                                 ##__VA_ARGS__);                         \
index d30d91082f9fe5c366390667c5ea8ca9027ba92a..391f2da9acf750ebbafba1fc46a6141a9ec7fac8 100644 (file)
@@ -102,7 +102,7 @@ int client_id_compare_func(const DHCPClientId *a, const DHCPClientId *b);
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_dhcp_server_get_ifname(server),  \
                                     LOG_DEBUG, _e, "DHCPv4 server: " fmt, \
                                     ##__VA_ARGS__);                     \
index 274b14b056e2a56d25be36c1f45c58179ce47a68..26897404fe4b1b4ed5fb073b54d252b7e50c3ec8 100644 (file)
@@ -123,7 +123,7 @@ int dhcp6_message_status_from_string(const char *s) _pure_;
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_dhcp6_client_get_ifname(client), \
                                     LOG_DEBUG, _e, "DHCPv6 client: " fmt, \
                                     ##__VA_ARGS__);                     \
index f13555d35c46d922e463a5bf4ca2ae11b10e1bca..6babcce066114743bf3d6030cd7062f9a527ac61 100644 (file)
@@ -40,7 +40,7 @@ sd_lldp_event_t lldp_event_from_string(const char *s) _pure_;
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_lldp_get_ifname(lldp),           \
                                     LOG_DEBUG, _e, "LLDP: " fmt,        \
                                     ##__VA_ARGS__);                     \
index 44a7e76c21e38b0ef425c35e49a8c3819cc3bd62..d7aa69a181b18fa6f08a285af3e235990f508be8 100644 (file)
@@ -45,7 +45,7 @@ sd_ndisc_event_t ndisc_event_from_string(const char *s) _pure_;
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_ndisc_get_ifname(ndisc),         \
                                     LOG_DEBUG, _e, "NDISC: " fmt,       \
                                     ##__VA_ARGS__);                     \
index fe5d74fda41042fce17842446e2539d46de839d1..eef6db514afe5216bdbf05a83d982ec27961e16e 100644 (file)
@@ -129,7 +129,7 @@ struct sd_radv_route_prefix {
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_radv_get_ifname(radv),           \
                                     LOG_DEBUG, _e, "RADV: " fmt,        \
                                     ##__VA_ARGS__);                     \
index 643bdc4ba9ca34dec946f7fe10ef1cdd257e72d9..65a858872534e81e589aeffbc704d3666e60df52 100644 (file)
@@ -79,7 +79,7 @@ struct sd_ipv4acd {
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_ipv4acd_get_ifname(acd),         \
                                     LOG_DEBUG, _e, "IPv4ACD: " fmt,     \
                                     ##__VA_ARGS__);                     \
index 49e9350fba51363c9c7bbd98f8ca19ed92eab633..cdde412a5569e52da068938bc6635af3dbac76aa 100644 (file)
@@ -53,7 +53,7 @@ struct sd_ipv4ll {
         ({                                                              \
                 int _e = (error);                                       \
                 if (DEBUG_LOGGING)                                      \
-                        log_interface_full_errno(                       \
+                        log_interface_full_errno_zerook(                \
                                     sd_ipv4ll_get_ifname(ll),           \
                                     LOG_DEBUG, _e, "IPv4LL: " fmt,      \
                                     ##__VA_ARGS__);                     \
index ecc2609e51eb4da82bb710f374b6fb0550541be9..5f2b176353b70f35f06aebda850869f71af178c0 100644 (file)
@@ -3,13 +3,20 @@
 
 #include "log.h"
 
-#define log_interface_full_errno(ifname, level, error, ...)             \
+#define log_interface_full_errno_zerook(ifname, level, error, ...)      \
         ({                                                              \
                 const char *_ifname = (ifname);                         \
                 _ifname ? log_object_internal(level, error, PROJECT_FILE, __LINE__, __func__, "INTERFACE=", _ifname, NULL, NULL, ##__VA_ARGS__) : \
                         log_internal(level, error, PROJECT_FILE, __LINE__, __func__, ##__VA_ARGS__); \
         })
 
+#define log_interface_full_errno(ifname, level, error, ...)             \
+        ({                                                              \
+                int _error = (error);                                   \
+                ASSERT_NON_ZERO(_error);                                \
+                log_interface_full_errno_zerook(ifname, level, _error, __VA_ARGS__); \
+        })
+
 /*
  * The following macros append INTERFACE= to the message.
  * The macros require a struct named 'Link' which contains 'char *ifname':
  * See, network/networkd-link.h for example.
  */
 
-#define log_link_full_errno(link, level, error, ...)                    \
+#define log_link_full_errno_zerook(link, level, error, ...)             \
         ({                                                              \
                 const Link *_l = (link);                                \
-                log_interface_full_errno(_l ? _l->ifname : NULL, level, error, ##__VA_ARGS__); \
+                log_interface_full_errno_zerook(_l ? _l->ifname : NULL, level, error, __VA_ARGS__); \
+        })
+
+#define log_link_full_errno(link, level, error, ...)                    \
+        ({                                                              \
+                int _error = (error);                                   \
+                ASSERT_NON_ZERO(_error);                                \
+                log_link_full_errno_zerook(link, level, _error, __VA_ARGS__); \
         })
 
-#define log_link_full(link, level, ...) (void) log_link_full_errno(link, level, 0, __VA_ARGS__)
+#define log_link_full(link, level, ...) (void) log_link_full_errno_zerook(link, level, 0, __VA_ARGS__)
 
 #define log_link_debug(link, ...)   log_link_full(link, LOG_DEBUG, __VA_ARGS__)
 #define log_link_info(link, ...)    log_link_full(link, LOG_INFO, __VA_ARGS__)