Lines Matching refs:parent

397 static int inherit_tree(struct landlock_ruleset *const parent,  in inherit_tree()  argument
406 lockdep_assert_held(&parent->lock); in inherit_tree()
409 parent_root = get_root(parent, key_type); in inherit_tree()
429 static int inherit_ruleset(struct landlock_ruleset *const parent, in inherit_ruleset() argument
435 if (!parent) in inherit_ruleset()
440 mutex_lock_nested(&parent->lock, SINGLE_DEPTH_NESTING); in inherit_ruleset()
443 err = inherit_tree(parent, child, LANDLOCK_KEY_INODE); in inherit_ruleset()
449 err = inherit_tree(parent, child, LANDLOCK_KEY_NET_PORT); in inherit_ruleset()
454 if (WARN_ON_ONCE(child->num_layers <= parent->num_layers)) { in inherit_ruleset()
459 memcpy(child->access_masks, parent->access_masks, in inherit_ruleset()
460 flex_array_size(parent, access_masks, parent->num_layers)); in inherit_ruleset()
462 if (WARN_ON_ONCE(!parent->hierarchy)) { in inherit_ruleset()
466 landlock_get_hierarchy(parent->hierarchy); in inherit_ruleset()
467 child->hierarchy->parent = parent->hierarchy; in inherit_ruleset()
470 mutex_unlock(&parent->lock); in inherit_ruleset()
531 landlock_merge_ruleset(struct landlock_ruleset *const parent, in landlock_merge_ruleset() argument
539 if (WARN_ON_ONCE(!ruleset || parent == ruleset)) in landlock_merge_ruleset()
542 if (parent) { in landlock_merge_ruleset()
543 if (parent->num_layers >= LANDLOCK_MAX_NUM_LAYERS) in landlock_merge_ruleset()
545 num_layers = parent->num_layers + 1; in landlock_merge_ruleset()
563 err = inherit_ruleset(parent, new_dom); in landlock_merge_ruleset()