landlock: Optimize the number of calls to get_access_mask slightly
authorGünther Noack <gnoack@google.com>
Fri, 8 Dec 2023 15:51:15 +0000 (16:51 +0100)
committerMickaël Salaün <mic@digikod.net>
Wed, 3 Jan 2024 11:43:17 +0000 (12:43 +0100)
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>
security/landlock/ruleset.c

index 789c81b26a50482769bb77dd5c1ba73aee4b23d7..e0a5fbf9201ade7036e8cb8203f5b99e18b94947 100644 (file)
@@ -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);