diff options
author | Günther Noack <gnoack@google.com> | 2023-12-08 16:51:15 +0100 |
---|---|---|
committer | Mickaël Salaün <mic@digikod.net> | 2024-01-03 12:43:17 +0100 |
commit | 0daaa610c8e033cdfb420db728c2b40eb3a75134 (patch) | |
tree | 70dfc253cdc5bfbec4838d8ec5d5ec3bde72f175 /security/landlock | |
parent | b838dd7612f80b75e4363599f7a0d743011dd0d4 (diff) | |
download | lwn-0daaa610c8e033cdfb420db728c2b40eb3a75134.tar.gz lwn-0daaa610c8e033cdfb420db728c2b40eb3a75134.zip |
landlock: Optimize the number of calls to get_access_mask slightly
This call is now going through a function pointer,
and it is not as obvious any more that it will be inlined.
Signed-off-by: Günther Noack <gnoack@google.com>
Link: https://lore.kernel.org/r/20231208155121.1943775-4-gnoack@google.com
Fixes: 7a11275c3787 ("landlock: Refactor layer helpers")
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Diffstat (limited to 'security/landlock')
-rw-r--r-- | security/landlock/ruleset.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/security/landlock/ruleset.c b/security/landlock/ruleset.c index 789c81b26a50..e0a5fbf9201a 100644 --- a/security/landlock/ruleset.c +++ b/security/landlock/ruleset.c @@ -723,11 +723,12 @@ landlock_init_layer_masks(const struct landlock_ruleset *const domain, /* Saves all handled accesses per layer. */ for (layer_level = 0; layer_level < domain->num_layers; layer_level++) { const unsigned long access_req = access_request; + const access_mask_t access_mask = + get_access_mask(domain, layer_level); unsigned long access_bit; for_each_set_bit(access_bit, &access_req, num_access) { - if (BIT_ULL(access_bit) & - get_access_mask(domain, layer_level)) { + if (BIT_ULL(access_bit) & access_mask) { (*layer_masks)[access_bit] |= BIT_ULL(layer_level); handled_accesses |= BIT_ULL(access_bit); |