summaryrefslogtreecommitdiff
path: root/security/landlock
diff options
context:
space:
mode:
authorGünther Noack <gnoack@google.com>2023-12-08 16:51:15 +0100
committerMickaël Salaün <mic@digikod.net>2024-01-03 12:43:17 +0100
commit0daaa610c8e033cdfb420db728c2b40eb3a75134 (patch)
tree70dfc253cdc5bfbec4838d8ec5d5ec3bde72f175 /security/landlock
parentb838dd7612f80b75e4363599f7a0d743011dd0d4 (diff)
downloadlwn-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.c5
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);