Lines Matching full:layers
166 * layers for each inode, from the first added layer to the last one. in landlock_unmask_layers()
174 * is per-layer: access is granted iff masks->layers[l].access == 0 for in landlock_unmask_layers()
175 * all layers l. When two independent mechanisms can each grant access in landlock_unmask_layers()
179 * different layers grant via different mechanisms. in landlock_unmask_layers()
182 const struct landlock_layer *const layer = &rule->layers[i]; in landlock_unmask_layers()
185 masks->layers[layer->level - 1].access &= ~layer->access; in landlock_unmask_layers()
190 masks->layers[layer->level - 1].quiet = true; in landlock_unmask_layers()
194 for (size_t i = 0; i < ARRAY_SIZE(masks->layers); i++) { in landlock_unmask_layers()
195 if (masks->layers[i].access) in landlock_unmask_layers()
209 * for all the layers are set where this access right is handled. Rule flags
218 * any of the active layers in @domain.
252 masks->layers[i].access = access_request & handled; in landlock_init_layer_masks()
253 handled_accesses |= masks->layers[i].access; in landlock_init_layer_masks()
255 masks->layers[i].quiet = false; in landlock_init_layer_masks()
258 for (size_t i = domain->num_layers; i < ARRAY_SIZE(masks->layers); in landlock_init_layer_masks()
260 masks->layers[i].access = 0; in landlock_init_layer_masks()
262 masks->layers[i].quiet = false; in landlock_init_layer_masks()
287 struct landlock_layer layers[] = { { in merge_tree() local
298 if (WARN_ON_ONCE(walker_rule->layers[0].level != 0)) in merge_tree()
301 layers[0].access = walker_rule->layers[0].access; in merge_tree()
302 layers[0].flags = walker_rule->layers[0].flags; in merge_tree()
304 err = landlock_store_rule(&dst->rules, id, &layers, in merge_tree()
305 ARRAY_SIZE(layers)); in merge_tree()
372 &walker_rule->layers, in inherit_tree()
636 * Return: a bitmask of which optional accesses are denied by layers for which
658 if (masks->layers[layer].quiet) in landlock_get_quiet_optional_accesses()
709 for (ssize_t i = ARRAY_SIZE(masks->layers) - 1; i >= 0; i--) { in landlock_get_deny_masks()
710 const access_mask_t denied = masks->layers[i].access & in landlock_get_deny_masks()
732 .layers[0].access = LANDLOCK_ACCESS_FS_EXECUTE | in test_landlock_get_deny_masks()
734 .layers[1].access = LANDLOCK_ACCESS_FS_TRUNCATE, in test_landlock_get_deny_masks()
735 .layers[2].access = LANDLOCK_ACCESS_FS_IOCTL_DEV, in test_landlock_get_deny_masks()
736 .layers[9].access = LANDLOCK_ACCESS_FS_EXECUTE, in test_landlock_get_deny_masks()