2022-06-21 14:33:54

by Mimi Zohar

[permalink] [raw]
Subject: Re: [PATCH -next] evm: Use IS_ENABLED to initialize .enabled

On Tue, 2022-06-21 at 18:58 +0800, xiujianfeng wrote:
> Hi, Ahmad
>
> 在 2022/6/7 14:06, Ahmad Fatoum 写道:
> > On 06.06.22 12:10, Xiu Jianfeng wrote:
> >> Use IS_ENABLED(CONFIG_XXX) instead of #ifdef/#endif statements to
> >> initialize .enabled, minor simplicity improvement.

The difference between using ifdef's and IS_ENABLED is when the
decision is made - build time, run time. Please update the patch
description providing an explanation for needing to make the decision
at run time.

thanks,

Mimi


2022-06-22 02:19:55

by Eric Biggers

[permalink] [raw]
Subject: Re: [PATCH -next] evm: Use IS_ENABLED to initialize .enabled

On Tue, Jun 21, 2022 at 10:03:39AM -0400, Mimi Zohar wrote:
> On Tue, 2022-06-21 at 18:58 +0800, xiujianfeng wrote:
> > Hi, Ahmad
> >
> > 在 2022/6/7 14:06, Ahmad Fatoum 写道:
> > > On 06.06.22 12:10, Xiu Jianfeng wrote:
> > >> Use IS_ENABLED(CONFIG_XXX) instead of #ifdef/#endif statements to
> > >> initialize .enabled, minor simplicity improvement.
>
> The difference between using ifdef's and IS_ENABLED is when the
> decision is made - build time, run time. Please update the patch
> description providing an explanation for needing to make the decision
> at run time.
>
> thanks,

IS_ENABLED() is a compile time constant. So the patch looks fine to me.

- Eric

2022-06-26 16:17:37

by Mimi Zohar

[permalink] [raw]
Subject: Re: [PATCH -next] evm: Use IS_ENABLED to initialize .enabled

On Tue, 2022-06-21 at 19:17 -0700, Eric Biggers wrote:
> On Tue, Jun 21, 2022 at 10:03:39AM -0400, Mimi Zohar wrote:
> > On Tue, 2022-06-21 at 18:58 +0800, xiujianfeng wrote:
> > > Hi, Ahmad
> > >
> > > 在 2022/6/7 14:06, Ahmad Fatoum 写道:
> > > > On 06.06.22 12:10, Xiu Jianfeng wrote:
> > > >> Use IS_ENABLED(CONFIG_XXX) instead of #ifdef/#endif statements to
> > > >> initialize .enabled, minor simplicity improvement.
> >
> > The difference between using ifdef's and IS_ENABLED is when the
> > decision is made - build time, run time. Please update the patch
> > description providing an explanation for needing to make the decision
> > at run time.
> >
> > thanks,
>
> IS_ENABLED() is a compile time constant. So the patch looks fine to me.

Thanks, Eric, for the clarification.

As LSMs are only builtin, why the need for using IS_ENABLED as opposed
to IS_BUILTIN?

#define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))

thanks,

Mimi