[PATCH v8 3/9] landlock: Optimize the number of calls to get_access_mask slightly

Mickaël Salaün mic at digikod.net
Fri Jan 5 09:38:37 UTC 2024


I'll send these first three patches for the next merge window (next
week). You can remove them in the next series.

Thanks!

On Fri, Dec 08, 2023 at 04:51:15PM +0100, Günther Noack wrote:
> 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 at google.com>
> ---
>  security/landlock/ruleset.c | 5 +++--
>  1 file 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);
> -- 
> 2.43.0.472.g3155946c3a-goog
> 
> 



More information about the Linux-security-module-archive mailing list