return false;
 }
 
+static const struct access_masks unix_scope = {
+       .scope = LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET,
+};
+
 static int hook_unix_stream_connect(struct sock *const sock,
                                    struct sock *const other,
                                    struct sock *const newsk)
 {
        const struct landlock_ruleset *const dom =
-               landlock_get_current_domain();
+               landlock_get_applicable_domain(landlock_get_current_domain(),
+                                              unix_scope);
 
        /* Quick return for non-landlocked tasks. */
        if (!dom)
                              struct socket *const other)
 {
        const struct landlock_ruleset *const dom =
-               landlock_get_current_domain();
+               landlock_get_applicable_domain(landlock_get_current_domain(),
+                                              unix_scope);
 
        if (!dom)
                return 0;
        return 0;
 }
 
+static const struct access_masks signal_scope = {
+       .scope = LANDLOCK_SCOPE_SIGNAL,
+};
+
 static int hook_task_kill(struct task_struct *const p,
                          struct kernel_siginfo *const info, const int sig,
                          const struct cred *const cred)
        } else {
                dom = landlock_get_current_domain();
        }
+       dom = landlock_get_applicable_domain(dom, signal_scope);
 
        /* Quick return for non-landlocked tasks. */
        if (!dom)
 
        /* Lock already held by send_sigio() and send_sigurg(). */
        lockdep_assert_held(&fown->lock);
-       dom = landlock_file(fown->file)->fown_domain;
+       dom = landlock_get_applicable_domain(
+               landlock_file(fown->file)->fown_domain, signal_scope);
 
        /* Quick return for unowned socket. */
        if (!dom)