Re: [PATCH v8 02/12] landlock: Refactor landlock_find_rule/insert_rule
From: Mickaël Salaün <mic@digikod.net>
Date: 2022-11-22 17:17:18
Also in:
netdev, netfilter-devel
On 17/11/2022 19:41, Mickaël Salaün wrote:
On 21/10/2022 17:26, Konstantin Meskhidze wrote:
[...]
quoted
diff --git a/security/landlock/ruleset.h b/security/landlock/ruleset.h index f2ad932d396c..608ab356bc3e 100644 --- a/security/landlock/ruleset.h +++ b/security/landlock/ruleset.h@@ -49,6 +49,46 @@ struct landlock_layer { access_mask_t access; }; +/** + * union landlock_key - Key of a ruleset's red-black tree + */ +union landlock_key { + /** + * @object: Pointer to identify a kernel object (e.g. an inode). + */ + struct landlock_object *object; + /** + * @data: A raw data value to identify a network socket port."Raw data to identify an arbitrary 32-bit value (e.g. a TCP port)."quoted
+ */ + uintptr_t data; +}; + +/** + * enum landlock_key_type - Type of &union landlock_key + */ +enum landlock_key_type { + /** + * @LANDLOCK_KEY_INODE: Type of &landlock_ruleset.root_inode's node + * keys. + */ + LANDLOCK_KEY_INODE = 1, +}; + +/** + * struct landlock_id - Unique rule identifier for a ruleset + */ +struct landlock_id { + /** + * @key: A union to identify either a kernel object (e.g. an inode) or + * a raw data value (e.g. a network socket port)."a 32-bit value (e.g. a TCP port)."
Instead: @key: Identifies either a kernel object (e.g. an inode) or a raw value (e.g. a TCP port).
quoted
+ */ + union landlock_key key; + /** + * @type: A enumerator to identify the type of landlock_ruleset's root tree.
@type: Type of a landlock_ruleset's root tree.
quoted
+ */ + const enum landlock_key_type type; +};