layer_masks
const struct layer_masks *masks)
const struct layer_masks masks = {
if (WARN_ON_ONCE(!(!!request->layer_masks ^
if (WARN_ON_ONCE(request->layer_masks ||
if (request->layer_masks) {
request->layer_masks);
request->layer_masks->layers[youngest_layer]
const struct layer_masks *layer_masks;
const deny_masks_t deny_masks, const struct layer_masks *const masks)
const struct layer_masks *const masks)
const struct layer_masks layers1 = {
const struct layer_masks *const masks);
const deny_masks_t deny_masks, const struct layer_masks *const masks);
struct layer_masks *layer_masks_dom)
struct layer_masks layer_masks_parent1 = {}, layer_masks_parent2 = {};
struct layer_masks *const masks,
struct layer_masks layer_masks;
&layer_masks, LANDLOCK_KEY_INODE);
unmask_scoped_access(subject->domain, dom_other, &layer_masks,
fs_resolve_unix.fs, &layer_masks,
struct layer_masks layer_masks = {};
full_access_request, &layer_masks,
&layer_masks, &request, NULL, 0, NULL, NULL, NULL)) {
for (size_t i = 0; i < ARRAY_SIZE(layer_masks.layers); i++)
allowed_access &= ~layer_masks.layers[i].access;
_LANDLOCK_ACCESS_FS_OPTIONAL, optional_access, &layer_masks);
landlock_file(file)->deny_masks, &layer_masks);
static bool may_refer(const struct layer_masks *const src_parent,
const struct layer_masks *const src_child,
const struct layer_masks *const new_parent,
static bool no_more_access(const struct layer_masks *const parent1,
const struct layer_masks *const child1,
const struct layer_masks *const parent2,
const struct layer_masks *const child2,
const struct layer_masks rx0 = {
const struct layer_masks mx0 = {
const struct layer_masks x0 = {
const struct layer_masks x1 = {
const struct layer_masks x01 = {
const struct layer_masks allows_all = {};
static bool is_layer_masks_allowed(const struct layer_masks *masks)
struct layer_masks *masks)
struct layer_masks masks = {};
struct layer_masks masks = {
struct layer_masks masks = {
static bool is_eacces(const struct layer_masks *masks,
const struct layer_masks masks = {};
const struct layer_masks masks = {
const struct layer_masks masks = {
struct layer_masks *layer_masks_parent1,
struct layer_masks *layer_masks_parent2,
struct layer_masks _layer_masks_child1, _layer_masks_child2;
struct layer_masks *layer_masks_child1 = NULL,
log_request_parent1->layer_masks = layer_masks_parent1;
log_request_parent2->layer_masks = layer_masks_parent2;
struct layer_masks layer_masks;
access_request, &layer_masks,
&layer_masks, &request, NULL, 0, NULL,
&layer_masks, LANDLOCK_KEY_NET_PORT);
.layer_masks = &layer_masks,
access_request, &layer_masks,
if (landlock_unmask_layers(rule, &layer_masks))
.layer_masks = &layer_masks,
struct layer_masks layer_masks = {};
struct layer_masks *masks)
struct layer_masks *const masks,
struct layer_masks *masks);
struct layer_masks *masks,