linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
@ 2016-07-14 16:00 Javier Martinez Canillas
  2016-07-14 16:17 ` Casey Schaufler
  0 siblings, 1 reply; 8+ messages in thread
From: Javier Martinez Canillas @ 2016-07-14 16:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Javier Martinez Canillas, Serge E. Hallyn, Paul Moore,
	linux-security-module, Casey Schaufler, Stephen Smalley,
	Eric Paris, selinux, James Morris

The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
built-in or as a module, use that macro instead of open coding the same.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
---

 security/lsm_audit.c             |  2 +-
 security/selinux/hooks.c         | 12 ++++++------
 security/smack/smack_netfilter.c |  4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/security/lsm_audit.c b/security/lsm_audit.c
index cccbf3068cdc..5369036cf905 100644
--- a/security/lsm_audit.c
+++ b/security/lsm_audit.c
@@ -99,7 +99,7 @@ int ipv4_skb_to_auditdata(struct sk_buff *skb,
 	}
 	return ret;
 }
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 /**
  * ipv6_skb_to_auditdata : fill auditdata from skb
  * @skb : the skb
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index ec30880c4b98..c20ea9fe9274 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -3984,7 +3984,7 @@ out:
 	return ret;
 }
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 
 /* Returns error only if unable to parse addresses */
 static int selinux_parse_skb_ipv6(struct sk_buff *skb,
@@ -4075,7 +4075,7 @@ static int selinux_parse_skb(struct sk_buff *skb, struct common_audit_data *ad,
 				       &ad->u.net->v4info.daddr);
 		goto okay;
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 	case PF_INET6:
 		ret = selinux_parse_skb_ipv6(skb, ad, proto);
 		if (ret)
@@ -5029,7 +5029,7 @@ static unsigned int selinux_ipv4_forward(void *priv,
 	return selinux_ip_forward(skb, state->in, PF_INET);
 }
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 static unsigned int selinux_ipv6_forward(void *priv,
 					 struct sk_buff *skb,
 					 const struct nf_hook_state *state)
@@ -5087,7 +5087,7 @@ static unsigned int selinux_ipv4_output(void *priv,
 	return selinux_ip_output(skb, PF_INET);
 }
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 static unsigned int selinux_ipv6_output(void *priv,
 					struct sk_buff *skb,
 					const struct nf_hook_state *state)
@@ -5273,7 +5273,7 @@ static unsigned int selinux_ipv4_postroute(void *priv,
 	return selinux_ip_postroute(skb, state->out, PF_INET);
 }
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 static unsigned int selinux_ipv6_postroute(void *priv,
 					   struct sk_buff *skb,
 					   const struct nf_hook_state *state)
@@ -6317,7 +6317,7 @@ static struct nf_hook_ops selinux_nf_ops[] = {
 		.hooknum =	NF_INET_LOCAL_OUT,
 		.priority =	NF_IP_PRI_SELINUX_FIRST,
 	},
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 	{
 		.hook =		selinux_ipv6_postroute,
 		.pf =		NFPROTO_IPV6,
diff --git a/security/smack/smack_netfilter.c b/security/smack/smack_netfilter.c
index aa6bf1b22ec5..205b785fb400 100644
--- a/security/smack/smack_netfilter.c
+++ b/security/smack/smack_netfilter.c
@@ -20,7 +20,7 @@
 #include <net/inet_sock.h>
 #include "smack.h"
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 
 static unsigned int smack_ipv6_output(void *priv,
 					struct sk_buff *skb,
@@ -64,7 +64,7 @@ static struct nf_hook_ops smack_nf_ops[] = {
 		.hooknum =	NF_INET_LOCAL_OUT,
 		.priority =	NF_IP_PRI_SELINUX_FIRST,
 	},
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if IS_ENABLED(CONFIG_IPV6)
 	{
 		.hook =		smack_ipv6_output,
 		.pf =		NFPROTO_IPV6,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 16:00 [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module Javier Martinez Canillas
@ 2016-07-14 16:17 ` Casey Schaufler
  2016-07-14 16:20   ` Javier Martinez Canillas
  0 siblings, 1 reply; 8+ messages in thread
From: Casey Schaufler @ 2016-07-14 16:17 UTC (permalink / raw)
  To: Javier Martinez Canillas, linux-kernel
  Cc: Serge E. Hallyn, Paul Moore, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
> built-in or as a module, use that macro instead of open coding the same.

Why?

>
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
>
>  security/lsm_audit.c             |  2 +-
>  security/selinux/hooks.c         | 12 ++++++------
>  security/smack/smack_netfilter.c |  4 ++--
>  3 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/security/lsm_audit.c b/security/lsm_audit.c
> index cccbf3068cdc..5369036cf905 100644
> --- a/security/lsm_audit.c
> +++ b/security/lsm_audit.c
> @@ -99,7 +99,7 @@ int ipv4_skb_to_auditdata(struct sk_buff *skb,
>  	}
>  	return ret;
>  }
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  /**
>   * ipv6_skb_to_auditdata : fill auditdata from skb
>   * @skb : the skb
> diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
> index ec30880c4b98..c20ea9fe9274 100644
> --- a/security/selinux/hooks.c
> +++ b/security/selinux/hooks.c
> @@ -3984,7 +3984,7 @@ out:
>  	return ret;
>  }
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  
>  /* Returns error only if unable to parse addresses */
>  static int selinux_parse_skb_ipv6(struct sk_buff *skb,
> @@ -4075,7 +4075,7 @@ static int selinux_parse_skb(struct sk_buff *skb, struct common_audit_data *ad,
>  				       &ad->u.net->v4info.daddr);
>  		goto okay;
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  	case PF_INET6:
>  		ret = selinux_parse_skb_ipv6(skb, ad, proto);
>  		if (ret)
> @@ -5029,7 +5029,7 @@ static unsigned int selinux_ipv4_forward(void *priv,
>  	return selinux_ip_forward(skb, state->in, PF_INET);
>  }
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  static unsigned int selinux_ipv6_forward(void *priv,
>  					 struct sk_buff *skb,
>  					 const struct nf_hook_state *state)
> @@ -5087,7 +5087,7 @@ static unsigned int selinux_ipv4_output(void *priv,
>  	return selinux_ip_output(skb, PF_INET);
>  }
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  static unsigned int selinux_ipv6_output(void *priv,
>  					struct sk_buff *skb,
>  					const struct nf_hook_state *state)
> @@ -5273,7 +5273,7 @@ static unsigned int selinux_ipv4_postroute(void *priv,
>  	return selinux_ip_postroute(skb, state->out, PF_INET);
>  }
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  static unsigned int selinux_ipv6_postroute(void *priv,
>  					   struct sk_buff *skb,
>  					   const struct nf_hook_state *state)
> @@ -6317,7 +6317,7 @@ static struct nf_hook_ops selinux_nf_ops[] = {
>  		.hooknum =	NF_INET_LOCAL_OUT,
>  		.priority =	NF_IP_PRI_SELINUX_FIRST,
>  	},
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  	{
>  		.hook =		selinux_ipv6_postroute,
>  		.pf =		NFPROTO_IPV6,
> diff --git a/security/smack/smack_netfilter.c b/security/smack/smack_netfilter.c
> index aa6bf1b22ec5..205b785fb400 100644
> --- a/security/smack/smack_netfilter.c
> +++ b/security/smack/smack_netfilter.c
> @@ -20,7 +20,7 @@
>  #include <net/inet_sock.h>
>  #include "smack.h"
>  
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  
>  static unsigned int smack_ipv6_output(void *priv,
>  					struct sk_buff *skb,
> @@ -64,7 +64,7 @@ static struct nf_hook_ops smack_nf_ops[] = {
>  		.hooknum =	NF_INET_LOCAL_OUT,
>  		.priority =	NF_IP_PRI_SELINUX_FIRST,
>  	},
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if IS_ENABLED(CONFIG_IPV6)
>  	{
>  		.hook =		smack_ipv6_output,
>  		.pf =		NFPROTO_IPV6,

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 16:17 ` Casey Schaufler
@ 2016-07-14 16:20   ` Javier Martinez Canillas
  2016-07-14 16:30     ` Casey Schaufler
  0 siblings, 1 reply; 8+ messages in thread
From: Javier Martinez Canillas @ 2016-07-14 16:20 UTC (permalink / raw)
  To: Casey Schaufler, linux-kernel
  Cc: Serge E. Hallyn, Paul Moore, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

Hello Casey,

On 07/14/2016 12:17 PM, Casey Schaufler wrote:
> On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
>> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
>> built-in or as a module, use that macro instead of open coding the same.
> 
> Why?
> 

Why not? We have a macro for this so why is better to open coding it?

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 16:20   ` Javier Martinez Canillas
@ 2016-07-14 16:30     ` Casey Schaufler
  2016-07-14 19:57       ` Paul Moore
  0 siblings, 1 reply; 8+ messages in thread
From: Casey Schaufler @ 2016-07-14 16:30 UTC (permalink / raw)
  To: Javier Martinez Canillas, linux-kernel
  Cc: Serge E. Hallyn, Paul Moore, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

On 7/14/2016 9:20 AM, Javier Martinez Canillas wrote:
> Hello Casey,
>
> On 07/14/2016 12:17 PM, Casey Schaufler wrote:
>> On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
>>> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
>>> built-in or as a module, use that macro instead of open coding the same.
>> Why?
>>
> Why not? We have a macro for this so why is better to open coding it?

Unless there is a real advantage to IS_ENABLED() over ifdef there
is no value in making the change. Any change can introduce a problem,
so we don't make changes based on "why not". It's called code churn.


>
> Best regards,

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 16:30     ` Casey Schaufler
@ 2016-07-14 19:57       ` Paul Moore
  2016-07-14 20:54         ` Casey Schaufler
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Moore @ 2016-07-14 19:57 UTC (permalink / raw)
  To: Casey Schaufler, Javier Martinez Canillas
  Cc: linux-kernel, Serge E. Hallyn, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

On Thu, Jul 14, 2016 at 12:30 PM, Casey Schaufler
<casey@schaufler-ca.com> wrote:
> On 7/14/2016 9:20 AM, Javier Martinez Canillas wrote:
>> Hello Casey,
>>
>> On 07/14/2016 12:17 PM, Casey Schaufler wrote:
>>> On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
>>>> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
>>>> built-in or as a module, use that macro instead of open coding the same.
>>> Why?
>>
>> Why not? We have a macro for this so why is better to open coding it?
>
> Unless there is a real advantage to IS_ENABLED() over ifdef there
> is no value in making the change. Any change can introduce a problem,
> so we don't make changes based on "why not". It's called code churn.

I think the IS_ENABLED() macro makes the code more readable by helping
abstract away some of the Kconfig/module details; not to mention it
provides some insulation from Kconfig changes (although I suppose it
is doubtful this will be a real issue anytime soon).

Javier, if you want to respin this patch without the Smack changes
I'll merge it into the SELinux tree (not for the v4.8 merge window,
but for the next merge window).  However, if Casey changes his mind
and ACKs this patch, I'll go ahead and merge the original patch.

-- 
paul moore
www.paul-moore.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 19:57       ` Paul Moore
@ 2016-07-14 20:54         ` Casey Schaufler
  2016-07-14 22:06           ` Paul Moore
  0 siblings, 1 reply; 8+ messages in thread
From: Casey Schaufler @ 2016-07-14 20:54 UTC (permalink / raw)
  To: Paul Moore, Javier Martinez Canillas
  Cc: linux-kernel, Serge E. Hallyn, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

On 7/14/2016 12:57 PM, Paul Moore wrote:
> On Thu, Jul 14, 2016 at 12:30 PM, Casey Schaufler
> <casey@schaufler-ca.com> wrote:
>> On 7/14/2016 9:20 AM, Javier Martinez Canillas wrote:
>>> Hello Casey,
>>>
>>> On 07/14/2016 12:17 PM, Casey Schaufler wrote:
>>>> On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
>>>>> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
>>>>> built-in or as a module, use that macro instead of open coding the same.
>>>> Why?
>>> Why not? We have a macro for this so why is better to open coding it?
>> Unless there is a real advantage to IS_ENABLED() over ifdef there
>> is no value in making the change. Any change can introduce a problem,
>> so we don't make changes based on "why not". It's called code churn.
> I think the IS_ENABLED() macro makes the code more readable by helping
> abstract away some of the Kconfig/module details; not to mention it
> provides some insulation from Kconfig changes (although I suppose it
> is doubtful this will be a real issue anytime soon).
>
> Javier, if you want to respin this patch without the Smack changes
> I'll merge it into the SELinux tree (not for the v4.8 merge window,
> but for the next merge window).  However, if Casey changes his mind
> and ACKs this patch, I'll go ahead and merge the original patch.

Don't let me stand in the way. If you think it's worth
doing go ahead and add my ACK.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 20:54         ` Casey Schaufler
@ 2016-07-14 22:06           ` Paul Moore
  2016-07-15 11:39             ` Javier Martinez Canillas
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Moore @ 2016-07-14 22:06 UTC (permalink / raw)
  To: Casey Schaufler, Javier Martinez Canillas
  Cc: linux-kernel, Serge E. Hallyn, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

On Thu, Jul 14, 2016 at 4:54 PM, Casey Schaufler <casey@schaufler-ca.com> wrote:
> On 7/14/2016 12:57 PM, Paul Moore wrote:
>> On Thu, Jul 14, 2016 at 12:30 PM, Casey Schaufler
>> <casey@schaufler-ca.com> wrote:
>>> On 7/14/2016 9:20 AM, Javier Martinez Canillas wrote:
>>>> Hello Casey,
>>>>
>>>> On 07/14/2016 12:17 PM, Casey Schaufler wrote:
>>>>> On 7/14/2016 9:00 AM, Javier Martinez Canillas wrote:
>>>>>> The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either
>>>>>> built-in or as a module, use that macro instead of open coding the same.
>>>>> Why?
>>>>
>>>> Why not? We have a macro for this so why is better to open coding it?
>>>
>>> Unless there is a real advantage to IS_ENABLED() over ifdef there
>>> is no value in making the change. Any change can introduce a problem,
>>> so we don't make changes based on "why not". It's called code churn.
>>
>> I think the IS_ENABLED() macro makes the code more readable by helping
>> abstract away some of the Kconfig/module details; not to mention it
>> provides some insulation from Kconfig changes (although I suppose it
>> is doubtful this will be a real issue anytime soon).
>>
>> Javier, if you want to respin this patch without the Smack changes
>> I'll merge it into the SELinux tree (not for the v4.8 merge window,
>> but for the next merge window).  However, if Casey changes his mind
>> and ACKs this patch, I'll go ahead and merge the original patch.
>
> Don't let me stand in the way. If you think it's worth
> doing go ahead and add my ACK.

I think it's a reasonable patch and I'm at that point in the day where
I'm looking for distractions so I just added it to the selinux#next
queue; once the merge window closes I'll rotate this into my next
branch.

-- 
paul moore
www.paul-moore.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module
  2016-07-14 22:06           ` Paul Moore
@ 2016-07-15 11:39             ` Javier Martinez Canillas
  0 siblings, 0 replies; 8+ messages in thread
From: Javier Martinez Canillas @ 2016-07-15 11:39 UTC (permalink / raw)
  To: Paul Moore, Casey Schaufler
  Cc: linux-kernel, Serge E. Hallyn, linux-security-module,
	Stephen Smalley, Eric Paris, selinux, James Morris

Hello Paul,

On 07/14/2016 06:06 PM, Paul Moore wrote:

[snip]

> 
> I think it's a reasonable patch and I'm at that point in the day where
> I'm looking for distractions so I just added it to the selinux#next
> queue; once the merge window closes I'll rotate this into my next
> branch.
> 

Great, thanks a lot for your help.

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-07-15 11:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-14 16:00 [PATCH] security: Use IS_ENABLED() instead of checking for built-in or module Javier Martinez Canillas
2016-07-14 16:17 ` Casey Schaufler
2016-07-14 16:20   ` Javier Martinez Canillas
2016-07-14 16:30     ` Casey Schaufler
2016-07-14 19:57       ` Paul Moore
2016-07-14 20:54         ` Casey Schaufler
2016-07-14 22:06           ` Paul Moore
2016-07-15 11:39             ` Javier Martinez Canillas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).