return err;
 }
 
-static access_mask_t
-get_raw_handled_net_accesses(const struct landlock_ruleset *const domain)
-{
-       access_mask_t access_dom = 0;
-       size_t layer_level;
-
-       for (layer_level = 0; layer_level < domain->num_layers; layer_level++)
-               access_dom |= landlock_get_net_access_mask(domain, layer_level);
-       return access_dom;
-}
-
-static const struct landlock_ruleset *get_current_net_domain(void)
-{
-       const struct landlock_ruleset *const dom =
-               landlock_get_current_domain();
-
-       if (!dom || !get_raw_handled_net_accesses(dom))
-               return NULL;
-
-       return dom;
-}
+static const struct access_masks any_net = {
+       .net = ~0,
+};
 
 static int current_check_access_socket(struct socket *const sock,
                                       struct sockaddr *const address,
        struct landlock_id id = {
                .type = LANDLOCK_KEY_NET_PORT,
        };
-       const struct landlock_ruleset *const dom = get_current_net_domain();
+       const struct landlock_ruleset *const dom =
+               landlock_get_applicable_domain(landlock_get_current_domain(),
+                                              any_net);
 
        if (!dom)
                return 0;