]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
xdp: tiny refactoring, mute Coverity
authorDaniel Salzman <daniel.salzman@nic.cz>
Tue, 24 Aug 2021 07:17:48 +0000 (09:17 +0200)
committerDaniel Salzman <daniel.salzman@nic.cz>
Wed, 25 Aug 2021 15:22:56 +0000 (17:22 +0200)
src/libknot/xdp/bpf-user.c

index f62acae2962fa8e188cfaee636296fb9d053e647..d76341243fa4bea26509906421ffd01fb84a7785 100644 (file)
@@ -102,6 +102,17 @@ static int ensure_prog(struct kxsk_iface *iface, bool overwrite)
        }
 }
 
+static void unget_bpf_maps(struct kxsk_iface *iface)
+{
+       if (iface->qidconf_map_fd >= 0) {
+               close(iface->qidconf_map_fd);
+       }
+       if (iface->xsks_map_fd >= 0) {
+               close(iface->xsks_map_fd);
+       }
+       iface->qidconf_map_fd = iface->xsks_map_fd = -1;
+}
+
 /*!
  * /brief Get FDs for the two maps and assign them into xsk_info-> fields.
  *
@@ -154,9 +165,7 @@ static int get_bpf_maps(int prog_fd, struct kxsk_iface *iface)
        }
 
        if (iface->qidconf_map_fd < 0 || iface->xsks_map_fd < 0) {
-               close(iface->qidconf_map_fd);
-               close(iface->xsks_map_fd);
-               iface->qidconf_map_fd = iface->xsks_map_fd = -1;
+               unget_bpf_maps(iface);
                free(map_ids);
                return KNOT_ENOENT;
        }
@@ -165,13 +174,6 @@ static int get_bpf_maps(int prog_fd, struct kxsk_iface *iface)
        return KNOT_EOK;
 }
 
-static void unget_bpf_maps(struct kxsk_iface *iface)
-{
-       close(iface->qidconf_map_fd);
-       close(iface->xsks_map_fd);
-       iface->qidconf_map_fd = iface->xsks_map_fd = -1;
-}
-
 int kxsk_socket_start(const struct kxsk_iface *iface, uint32_t listen_port,
                       struct xsk_socket *xsk)
 {