All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: KP Singh <kpsingh@kernel.org>
Cc: linux-security-module@vger.kernel.org, bpf@vger.kernel.org,
	ast@kernel.org, paul@paul-moore.com, casey@schaufler-ca.com,
	andrii@kernel.org, keescook@chromium.org, daniel@iogearbox.net,
	renauld@google.com, revest@chromium.org, song@kernel.org,
	linux@roeck-us.net, Kui-Feng Lee <sinquersw@gmail.com>,
	John Johansen <john.johansen@canonical.com>
Subject: Re: [PATCH v15 3/4] lsm: count the LSMs enabled at compile time
Date: Wed, 26 Nov 2025 18:14:16 +0100	[thread overview]
Message-ID: <aSc1aAdOeSuuoKTH@black.igk.intel.com> (raw)
In-Reply-To: <20240816154307.3031838-4-kpsingh@kernel.org>

On Fri, Aug 16, 2024 at 05:43:06PM +0200, KP Singh wrote:
> These macros are a clever trick to determine a count of the number of
> LSMs that are enabled in the config to ascertain the maximum number of
> static calls that need to be configured per LSM hook.
> 
> Without this one would need to generate static calls for the total
> number of LSMs in the kernel (even if they are not compiled) times the
> number of LSM hooks which ends up being quite wasteful.

...

> -/* This counts to 12. Any more, it will return 13th argument. */
> -#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n
> -#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
> +/* This counts to 15. Any more, it will return 16th argument. */
> +#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _n, X...) _n
> +#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)

You forgot to update _12 in the upper comment.

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2025-11-26 17:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-16 15:43 [PATCH v15 0/4] Reduce overhead of LSMs with static calls KP Singh
2024-08-16 15:43 ` [PATCH v15 1/4] init/main.c: Initialize early LSMs after arch code, static keys and calls KP Singh
2024-08-16 15:43 ` [PATCH v15 2/4] kernel: Add helper macros for loop unrolling KP Singh
2024-08-16 15:43 ` [PATCH v15 3/4] lsm: count the LSMs enabled at compile time KP Singh
2024-08-20  4:39   ` Paul Moore
2024-08-22 16:27   ` Paul Moore
2025-11-26 17:14   ` Andy Shevchenko [this message]
2025-11-26 19:02     ` Paul Moore
2025-11-26 19:44       ` Andy Shevchenko
2024-08-16 15:43 ` [PATCH v15 4/4] lsm: replace indirect LSM hook calls with static calls KP Singh
2024-08-16 21:30 ` [PATCH v15 0/4] Reduce overhead of LSMs " Guenter Roeck
2024-08-20  4:33   ` Paul Moore
2024-08-18  4:37 ` Tetsuo Handa
2024-08-20  5:17 ` Paul Moore

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aSc1aAdOeSuuoKTH@black.igk.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=casey@schaufler-ca.com \
    --cc=daniel@iogearbox.net \
    --cc=john.johansen@canonical.com \
    --cc=keescook@chromium.org \
    --cc=kpsingh@kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=paul@paul-moore.com \
    --cc=renauld@google.com \
    --cc=revest@chromium.org \
    --cc=sinquersw@gmail.com \
    --cc=song@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.