Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
@ 2018-09-09 14:04 Loic
  2018-09-17 11:49 ` Greg KH
  2018-09-17 13:58 ` Greg KH
  0 siblings, 2 replies; 11+ messages in thread
From: Loic @ 2018-09-09 14:04 UTC (permalink / raw)
  To: stable, arnd, john.johansen, james.l.morris

Hello,

Tested without any problem so please picked up this for 4.4 to fix the 
problem.
The patch below is slightly modified to adapt to this version.

[ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]

The newly added Kconfig option could never work and just causes a build 
error
when disabled:

security/apparmor/lsm.c:675:25: error: 
'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a 
function)
  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;

The problem is that the macro undefined in this case, and we need to use 
the IS_ENABLED()
helper to turn it into a boolean constant.

Another minor problem with the original patch is that the option is even 
offered
in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides 
the option
in that case.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy 
hashing is used")
Signed-off-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
---
diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
--- a/security/apparmor/crypto.c
+++ b/security/apparmor/crypto.c
@@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
  	int error = -ENOMEM;
  	u32 le32_version = cpu_to_le32(version);

+	if (!aa_g_hash_policy)
+		return 0;
+
  	if (!apparmor_tfm)
  		return 0;

diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
  module_param_call(mode, param_set_mode, param_get_mode,
  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);

+#ifdef CONFIG_SECURITY_APPARMOR_HASH
+/* whether policy verification hashing is enabled */
+bool aa_g_hash_policy = 
IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
+module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | 
S_IWUSR);
+#endif
+
  /* Debug mode */
  bool aa_g_debug;
  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
---

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-09 14:04 [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling Loic
@ 2018-09-17 11:49 ` Greg KH
  2018-09-17 13:40   ` John Johansen
  2018-09-17 13:58 ` Greg KH
  1 sibling, 1 reply; 11+ messages in thread
From: Greg KH @ 2018-09-17 11:49 UTC (permalink / raw)
  To: Loic; +Cc: stable, arnd, john.johansen, james.l.morris

On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> Hello,
> 
> Tested without any problem so please picked up this for 4.4 to fix the
> problem.
> The patch below is slightly modified to adapt to this version.

I would like to get an ack from one of the developers/maintainers of
this patch before I accept it, as it does differ from the in-tree
version a bit.

thanks,

greg k-h

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 11:49 ` Greg KH
@ 2018-09-17 13:40   ` John Johansen
  2018-09-17 13:58     ` Greg KH
  0 siblings, 1 reply; 11+ messages in thread
From: John Johansen @ 2018-09-17 13:40 UTC (permalink / raw)
  To: Greg KH, Loic; +Cc: stable, arnd, james.l.morris

On 09/17/2018 04:49 AM, Greg KH wrote:
> On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
>> Hello,
>>
>> Tested without any problem so please picked up this for 4.4 to fix the
>> problem.
>> The patch below is slightly modified to adapt to this version.
> 
> I would like to get an ack from one of the developers/maintainers of
> this patch before I accept it, as it does differ from the in-tree
> version a bit.
> 

Greg the patch is good. Full explanation below


cherry-picking the original patch to 4.4, I get 2 conflicts

	both modified:   security/apparmor/lsm.c
	both modified:   security/apparmor/policy_unpack.c

the lsm.c conflict is do to surrounding code changes and is handled
correctly.  The patch drops the policy_unpack.c change

diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
index b9b1c66a32a5..138120698f83 100644
--- a/security/apparmor/policy_unpack.c
+++ b/security/apparmor/policy_unpack.c
@@ -778,8 +778,7 @@ int aa_unpack(void *udata, size_t size, struct list_head *lh, const char **ns)
                if (error)
                        goto fail_profile;
 
-               if (aa_g_hash_policy)
-                       error = aa_calc_profile_hash(profile, e.version, start,
+               error = aa_calc_profile_hash(profile, e.version, start,
                                                     e.pos - start);
                if (error)
                        goto fail_profile;


The conflict is caused by commit
31f75bfecd9cef7d485b1cda3c6c38cc0b4a5c6c in 4.11, which adds the
conditional check that the upstream version of this patch is dropping
again.

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 13:40   ` John Johansen
@ 2018-09-17 13:58     ` Greg KH
  0 siblings, 0 replies; 11+ messages in thread
From: Greg KH @ 2018-09-17 13:58 UTC (permalink / raw)
  To: John Johansen; +Cc: Loic, stable, arnd, james.l.morris

On Mon, Sep 17, 2018 at 06:40:20AM -0700, John Johansen wrote:
> On 09/17/2018 04:49 AM, Greg KH wrote:
> > On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> >> Hello,
> >>
> >> Tested without any problem so please picked up this for 4.4 to fix the
> >> problem.
> >> The patch below is slightly modified to adapt to this version.
> > 
> > I would like to get an ack from one of the developers/maintainers of
> > this patch before I accept it, as it does differ from the in-tree
> > version a bit.
> > 
> 
> Greg the patch is good. Full explanation below
> 
> 
> cherry-picking the original patch to 4.4, I get 2 conflicts
> 
> 	both modified:   security/apparmor/lsm.c
> 	both modified:   security/apparmor/policy_unpack.c
> 
> the lsm.c conflict is do to surrounding code changes and is handled
> correctly.  The patch drops the policy_unpack.c change

Great, thanks for reviewing this!

greg k-h

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-09 14:04 [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling Loic
  2018-09-17 11:49 ` Greg KH
@ 2018-09-17 13:58 ` Greg KH
  2018-09-17 19:45   ` Loic
  1 sibling, 1 reply; 11+ messages in thread
From: Greg KH @ 2018-09-17 13:58 UTC (permalink / raw)
  To: Loic; +Cc: stable, arnd, john.johansen, james.l.morris

On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> Hello,
> 
> Tested without any problem so please picked up this for 4.4 to fix the
> problem.
> The patch below is slightly modified to adapt to this version.
> 
> [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
> 
> The newly added Kconfig option could never work and just causes a build
> error
> when disabled:
> 
> security/apparmor/lsm.c:675:25: error:
> 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
>  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
> 
> The problem is that the macro undefined in this case, and we need to use the
> IS_ENABLED()
> helper to turn it into a boolean constant.
> 
> Another minor problem with the original patch is that the option is even
> offered
> in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
> option
> in that case.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
> hashing is used")
> Signed-off-by: John Johansen <john.johansen@canonical.com>
> Signed-off-by: James Morris <james.l.morris@oracle.com>
> ---
> diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> --- a/security/apparmor/crypto.c
> +++ b/security/apparmor/crypto.c
> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>  	int error = -ENOMEM;
>  	u32 le32_version = cpu_to_le32(version);
> 
> +	if (!aa_g_hash_policy)
> +		return 0;
> +
>  	if (!apparmor_tfm)
>  		return 0;
> 
> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
>  module_param_call(mode, param_set_mode, param_get_mode,
>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> 
> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> +/* whether policy verification hashing is enabled */
> +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
> S_IWUSR);
> +#endif
> +
>  /* Debug mode */
>  bool aa_g_debug;
>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> ---

The patch is whitespace corrupted and can not be applied :(

Can you fix that up and resend it so that I can apply it?

thanks,

greg k-h

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 13:58 ` Greg KH
@ 2018-09-17 19:45   ` Loic
  2018-09-17 21:15     ` Greg KH
  0 siblings, 1 reply; 11+ messages in thread
From: Loic @ 2018-09-17 19:45 UTC (permalink / raw)
  To: Greg KH; +Cc: stable, arnd, john.johansen, james.l.morris

On Mon, 17 Sep 2018 15:58:56 +0200
Greg KH <gregkh@linuxfoundation.org> wrote:

> On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> > Hello,
> > 
> > Tested without any problem so please picked up this for 4.4 to fix the
> > problem.
> > The patch below is slightly modified to adapt to this version.
> > 
> > [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
> > 
> > The newly added Kconfig option could never work and just causes a build
> > error
> > when disabled:
> > 
> > security/apparmor/lsm.c:675:25: error:
> > 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
> >  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
> > 
> > The problem is that the macro undefined in this case, and we need to use the
> > IS_ENABLED()
> > helper to turn it into a boolean constant.
> > 
> > Another minor problem with the original patch is that the option is even
> > offered
> > in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
> > option
> > in that case.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
> > hashing is used")
> > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > ---
> > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > --- a/security/apparmor/crypto.c
> > +++ b/security/apparmor/crypto.c
> > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> >  	int error = -ENOMEM;
> >  	u32 le32_version = cpu_to_le32(version);
> > 
> > +	if (!aa_g_hash_policy)
> > +		return 0;
> > +
> >  	if (!apparmor_tfm)
> >  		return 0;
> > 
> > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > --- a/security/apparmor/lsm.c
> > +++ b/security/apparmor/lsm.c
> > @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
> >  module_param_call(mode, param_set_mode, param_get_mode,
> >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> > 
> > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > +/* whether policy verification hashing is enabled */
> > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
> > S_IWUSR);
> > +#endif
> > +
> >  /* Debug mode */
> >  bool aa_g_debug;
> >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> > ---
> 
> The patch is whitespace corrupted and can not be applied :(

Sorry, I noticed the problem afterwards. I opened a bug report to try to fix my mail client:
https://github.com/roundcube/roundcubemail/issues/6438

> 
> Can you fix that up and resend it so that I can apply it?

No problem. Thanks for all.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy hashing is used")
Signed-off-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
---
diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
--- a/security/apparmor/crypto.c
+++ b/security/apparmor/crypto.c
@@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
 	int error = -ENOMEM;
 	u32 le32_version = cpu_to_le32(version);
 
+	if (!aa_g_hash_policy)
+		return 0;
+
 	if (!apparmor_tfm)
 		return 0;
 
diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
 module_param_call(mode, param_set_mode, param_get_mode,
 		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
 
+#ifdef CONFIG_SECURITY_APPARMOR_HASH
+/* whether policy verification hashing is enabled */
+bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
+module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR);
+#endif
+
 /* Debug mode */
 bool aa_g_debug;
 module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 19:45   ` Loic
@ 2018-09-17 21:15     ` Greg KH
  2018-09-17 21:37       ` Greg KH
  0 siblings, 1 reply; 11+ messages in thread
From: Greg KH @ 2018-09-17 21:15 UTC (permalink / raw)
  To: Loic; +Cc: stable, arnd, john.johansen, james.l.morris

On Mon, Sep 17, 2018 at 09:45:47PM +0200, Loic wrote:
> On Mon, 17 Sep 2018 15:58:56 +0200
> Greg KH <gregkh@linuxfoundation.org> wrote:
> 
> > On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> > > Hello,
> > > 
> > > Tested without any problem so please picked up this for 4.4 to fix the
> > > problem.
> > > The patch below is slightly modified to adapt to this version.
> > > 
> > > [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
> > > 
> > > The newly added Kconfig option could never work and just causes a build
> > > error
> > > when disabled:
> > > 
> > > security/apparmor/lsm.c:675:25: error:
> > > 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
> > >  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
> > > 
> > > The problem is that the macro undefined in this case, and we need to use the
> > > IS_ENABLED()
> > > helper to turn it into a boolean constant.
> > > 
> > > Another minor problem with the original patch is that the option is even
> > > offered
> > > in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
> > > option
> > > in that case.
> > > 
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
> > > hashing is used")
> > > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > > ---
> > > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > > --- a/security/apparmor/crypto.c
> > > +++ b/security/apparmor/crypto.c
> > > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> > >  	int error = -ENOMEM;
> > >  	u32 le32_version = cpu_to_le32(version);
> > > 
> > > +	if (!aa_g_hash_policy)
> > > +		return 0;
> > > +
> > >  	if (!apparmor_tfm)
> > >  		return 0;
> > > 
> > > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > > --- a/security/apparmor/lsm.c
> > > +++ b/security/apparmor/lsm.c
> > > @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
> > >  module_param_call(mode, param_set_mode, param_get_mode,
> > >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> > > 
> > > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > > +/* whether policy verification hashing is enabled */
> > > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
> > > S_IWUSR);
> > > +#endif
> > > +
> > >  /* Debug mode */
> > >  bool aa_g_debug;
> > >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> > > ---
> > 
> > The patch is whitespace corrupted and can not be applied :(
> 
> Sorry, I noticed the problem afterwards. I opened a bug report to try to fix my mail client:
> https://github.com/roundcube/roundcubemail/issues/6438
> 
> > 
> > Can you fix that up and resend it so that I can apply it?
> 
> No problem. Thanks for all.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy hashing is used")
> Signed-off-by: John Johansen <john.johansen@canonical.com>
> Signed-off-by: James Morris <james.l.morris@oracle.com>
> ---
> diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> --- a/security/apparmor/crypto.c
> +++ b/security/apparmor/crypto.c
> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>  	int error = -ENOMEM;
>  	u32 le32_version = cpu_to_le32(version);
>  
> +	if (!aa_g_hash_policy)
> +		return 0;
> +
>  	if (!apparmor_tfm)
>  		return 0;
>  
> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
>  module_param_call(mode, param_set_mode, param_get_mode,
>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
>  
> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> +/* whether policy verification hashing is enabled */
> +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR);
> +#endif
> +
>  /* Debug mode */
>  bool aa_g_debug;
>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);

THanks, that worked, now queued up.

greg k-h

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 21:15     ` Greg KH
@ 2018-09-17 21:37       ` Greg KH
  2018-09-17 21:56         ` Nathan Chancellor
  0 siblings, 1 reply; 11+ messages in thread
From: Greg KH @ 2018-09-17 21:37 UTC (permalink / raw)
  To: Loic; +Cc: stable, arnd, john.johansen, james.l.morris

On Mon, Sep 17, 2018 at 11:15:42PM +0200, Greg KH wrote:
> On Mon, Sep 17, 2018 at 09:45:47PM +0200, Loic wrote:
> > On Mon, 17 Sep 2018 15:58:56 +0200
> > Greg KH <gregkh@linuxfoundation.org> wrote:
> > 
> > > On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> > > > Hello,
> > > > 
> > > > Tested without any problem so please picked up this for 4.4 to fix the
> > > > problem.
> > > > The patch below is slightly modified to adapt to this version.
> > > > 
> > > > [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
> > > > 
> > > > The newly added Kconfig option could never work and just causes a build
> > > > error
> > > > when disabled:
> > > > 
> > > > security/apparmor/lsm.c:675:25: error:
> > > > 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
> > > >  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
> > > > 
> > > > The problem is that the macro undefined in this case, and we need to use the
> > > > IS_ENABLED()
> > > > helper to turn it into a boolean constant.
> > > > 
> > > > Another minor problem with the original patch is that the option is even
> > > > offered
> > > > in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
> > > > option
> > > > in that case.
> > > > 
> > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
> > > > hashing is used")
> > > > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > > > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > > > ---
> > > > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > > > --- a/security/apparmor/crypto.c
> > > > +++ b/security/apparmor/crypto.c
> > > > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> > > >  	int error = -ENOMEM;
> > > >  	u32 le32_version = cpu_to_le32(version);
> > > > 
> > > > +	if (!aa_g_hash_policy)
> > > > +		return 0;
> > > > +
> > > >  	if (!apparmor_tfm)
> > > >  		return 0;
> > > > 
> > > > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > > > --- a/security/apparmor/lsm.c
> > > > +++ b/security/apparmor/lsm.c
> > > > @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
> > > >  module_param_call(mode, param_set_mode, param_get_mode,
> > > >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> > > > 
> > > > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > > > +/* whether policy verification hashing is enabled */
> > > > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > > > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
> > > > S_IWUSR);
> > > > +#endif
> > > > +
> > > >  /* Debug mode */
> > > >  bool aa_g_debug;
> > > >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> > > > ---
> > > 
> > > The patch is whitespace corrupted and can not be applied :(
> > 
> > Sorry, I noticed the problem afterwards. I opened a bug report to try to fix my mail client:
> > https://github.com/roundcube/roundcubemail/issues/6438
> > 
> > > 
> > > Can you fix that up and resend it so that I can apply it?
> > 
> > No problem. Thanks for all.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy hashing is used")
> > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > ---
> > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > --- a/security/apparmor/crypto.c
> > +++ b/security/apparmor/crypto.c
> > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> >  	int error = -ENOMEM;
> >  	u32 le32_version = cpu_to_le32(version);
> >  
> > +	if (!aa_g_hash_policy)
> > +		return 0;
> > +
> >  	if (!apparmor_tfm)
> >  		return 0;
> >  
> > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > --- a/security/apparmor/lsm.c
> > +++ b/security/apparmor/lsm.c
> > @@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
> >  module_param_call(mode, param_set_mode, param_get_mode,
> >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> >  
> > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > +/* whether policy verification hashing is enabled */
> > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR);
> > +#endif
> > +
> >  /* Debug mode */
> >  bool aa_g_debug;
> >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> 
> THanks, that worked, now queued up.

And dropped as this patch broke the build.  I'm guessing this really
isn't needed if you didn't even test it worked :(

Please fix all of this up, test it properly, and then send it as a
"clean" patch that I can apply easily.

thanks,

greg k-h

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 21:37       ` Greg KH
@ 2018-09-17 21:56         ` Nathan Chancellor
  2018-09-17 22:12           ` John Johansen
  0 siblings, 1 reply; 11+ messages in thread
From: Nathan Chancellor @ 2018-09-17 21:56 UTC (permalink / raw)
  To: Greg KH; +Cc: Loic, stable, arnd, john.johansen, james.l.morris

On Mon, Sep 17, 2018 at 11:37:54PM +0200, Greg KH wrote:
> On Mon, Sep 17, 2018 at 11:15:42PM +0200, Greg KH wrote:
> > On Mon, Sep 17, 2018 at 09:45:47PM +0200, Loic wrote:
> > > On Mon, 17 Sep 2018 15:58:56 +0200
> > > Greg KH <gregkh@linuxfoundation.org> wrote:
> > > 
> > > > On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
> > > > > Hello,
> > > > > 
> > > > > Tested without any problem so please picked up this for 4.4 to fix the
> > > > > problem.
> > > > > The patch below is slightly modified to adapt to this version.
> > > > > 
> > > > > [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
> > > > > 
> > > > > The newly added Kconfig option could never work and just causes a build
> > > > > error
> > > > > when disabled:
> > > > > 
> > > > > security/apparmor/lsm.c:675:25: error:
> > > > > 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
> > > > >  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
> > > > > 
> > > > > The problem is that the macro undefined in this case, and we need to use the
> > > > > IS_ENABLED()
> > > > > helper to turn it into a boolean constant.
> > > > > 
> > > > > Another minor problem with the original patch is that the option is even
> > > > > offered
> > > > > in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
> > > > > option
> > > > > in that case.
> > > > > 
> > > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > > > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
> > > > > hashing is used")
> > > > > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > > > > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > > > > ---
> > > > > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > > > > --- a/security/apparmor/crypto.c
> > > > > +++ b/security/apparmor/crypto.c
> > > > > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> > > > >  	int error = -ENOMEM;
> > > > >  	u32 le32_version = cpu_to_le32(version);
> > > > > 
> > > > > +	if (!aa_g_hash_policy)
> > > > > +		return 0;
> > > > > +
> > > > >  	if (!apparmor_tfm)
> > > > >  		return 0;
> > > > > 
> > > > > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > > > > --- a/security/apparmor/lsm.c
> > > > > +++ b/security/apparmor/lsm.c
> > > > > @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
> > > > >  module_param_call(mode, param_set_mode, param_get_mode,
> > > > >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> > > > > 
> > > > > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > > > > +/* whether policy verification hashing is enabled */
> > > > > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > > > > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
> > > > > S_IWUSR);
> > > > > +#endif
> > > > > +
> > > > >  /* Debug mode */
> > > > >  bool aa_g_debug;
> > > > >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> > > > > ---
> > > > 
> > > > The patch is whitespace corrupted and can not be applied :(
> > > 
> > > Sorry, I noticed the problem afterwards. I opened a bug report to try to fix my mail client:
> > > https://github.com/roundcube/roundcubemail/issues/6438
> > > 
> > > > 
> > > > Can you fix that up and resend it so that I can apply it?
> > > 
> > > No problem. Thanks for all.
> > > 
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy hashing is used")
> > > Signed-off-by: John Johansen <john.johansen@canonical.com>
> > > Signed-off-by: James Morris <james.l.morris@oracle.com>
> > > ---
> > > diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
> > > --- a/security/apparmor/crypto.c
> > > +++ b/security/apparmor/crypto.c
> > > @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
> > >  	int error = -ENOMEM;
> > >  	u32 le32_version = cpu_to_le32(version);
> > >  
> > > +	if (!aa_g_hash_policy)
> > > +		return 0;
> > > +
> > >  	if (!apparmor_tfm)
> > >  		return 0;
> > >  
> > > diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> > > --- a/security/apparmor/lsm.c
> > > +++ b/security/apparmor/lsm.c
> > > @@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
> > >  module_param_call(mode, param_set_mode, param_get_mode,
> > >  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
> > >  
> > > +#ifdef CONFIG_SECURITY_APPARMOR_HASH
> > > +/* whether policy verification hashing is enabled */
> > > +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
> > > +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR);
> > > +#endif
> > > +
> > >  /* Debug mode */
> > >  bool aa_g_debug;
> > >  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
> > 
> > THanks, that worked, now queued up.
> 
> And dropped as this patch broke the build.  I'm guessing this really
> isn't needed if you didn't even test it worked :(
> 
> Please fix all of this up, test it properly, and then send it as a
> "clean" patch that I can apply easily.
> 
> thanks,
> 
> greg k-h

Commit 6059f71f1e94 ("apparmor: add parameter to control whether policy 
hashing is used") didn't even come in until 4.8 and SECURITY_APPARMOR_HASH_DEFAULT
isn't defined anywhere in 4.4. Fairly certain this isn't needed at all.

Cheers,
Nathan

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 21:56         ` Nathan Chancellor
@ 2018-09-17 22:12           ` John Johansen
  2018-09-21  5:40             ` Loic
  0 siblings, 1 reply; 11+ messages in thread
From: John Johansen @ 2018-09-17 22:12 UTC (permalink / raw)
  To: Nathan Chancellor, Greg KH; +Cc: Loic, stable, arnd, james.l.morris

On 09/17/2018 02:56 PM, Nathan Chancellor wrote:
> On Mon, Sep 17, 2018 at 11:37:54PM +0200, Greg KH wrote:
>> On Mon, Sep 17, 2018 at 11:15:42PM +0200, Greg KH wrote:
>>> On Mon, Sep 17, 2018 at 09:45:47PM +0200, Loic wrote:
>>>> On Mon, 17 Sep 2018 15:58:56 +0200
>>>> Greg KH <gregkh@linuxfoundation.org> wrote:
>>>>
>>>>> On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Tested without any problem so please picked up this for 4.4 to fix the
>>>>>> problem.
>>>>>> The patch below is slightly modified to adapt to this version.
>>>>>>
>>>>>> [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
>>>>>>
>>>>>> The newly added Kconfig option could never work and just causes a build
>>>>>> error
>>>>>> when disabled:
>>>>>>
>>>>>> security/apparmor/lsm.c:675:25: error:
>>>>>> 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a function)
>>>>>>  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
>>>>>>
>>>>>> The problem is that the macro undefined in this case, and we need to use the
>>>>>> IS_ENABLED()
>>>>>> helper to turn it into a boolean constant.
>>>>>>
>>>>>> Another minor problem with the original patch is that the option is even
>>>>>> offered
>>>>>> in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also hides the
>>>>>> option
>>>>>> in that case.
>>>>>>
>>>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>>>> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy
>>>>>> hashing is used")
>>>>>> Signed-off-by: John Johansen <john.johansen@canonical.com>
>>>>>> Signed-off-by: James Morris <james.l.morris@oracle.com>
>>>>>> ---
>>>>>> diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
>>>>>> --- a/security/apparmor/crypto.c
>>>>>> +++ b/security/apparmor/crypto.c
>>>>>> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>>>>>>  	int error = -ENOMEM;
>>>>>>  	u32 le32_version = cpu_to_le32(version);
>>>>>>
>>>>>> +	if (!aa_g_hash_policy)
>>>>>> +		return 0;
>>>>>> +
>>>>>>  	if (!apparmor_tfm)
>>>>>>  		return 0;
>>>>>>
>>>>>> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
>>>>>> --- a/security/apparmor/lsm.c
>>>>>> +++ b/security/apparmor/lsm.c
>>>>>> @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
>>>>>>  module_param_call(mode, param_set_mode, param_get_mode,
>>>>>>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
>>>>>>
>>>>>> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
>>>>>> +/* whether policy verification hashing is enabled */
>>>>>> +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
>>>>>> +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR |
>>>>>> S_IWUSR);
>>>>>> +#endif
>>>>>> +
>>>>>>  /* Debug mode */
>>>>>>  bool aa_g_debug;
>>>>>>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
>>>>>> ---
>>>>>
>>>>> The patch is whitespace corrupted and can not be applied :(
>>>>
>>>> Sorry, I noticed the problem afterwards. I opened a bug report to try to fix my mail client:
>>>> https://github.com/roundcube/roundcubemail/issues/6438
>>>>
>>>>>
>>>>> Can you fix that up and resend it so that I can apply it?
>>>>
>>>> No problem. Thanks for all.
>>>>
>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether policy hashing is used")
>>>> Signed-off-by: John Johansen <john.johansen@canonical.com>
>>>> Signed-off-by: James Morris <james.l.morris@oracle.com>
>>>> ---
>>>> diff -Nurp a/security/apparmor/crypto.c b/security/apparmor/crypto.c
>>>> --- a/security/apparmor/crypto.c
>>>> +++ b/security/apparmor/crypto.c
>>>> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>>>>  	int error = -ENOMEM;
>>>>  	u32 le32_version = cpu_to_le32(version);
>>>>  
>>>> +	if (!aa_g_hash_policy)
>>>> +		return 0;
>>>> +
>>>>  	if (!apparmor_tfm)
>>>>  		return 0;
>>>>  
>>>> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
>>>> --- a/security/apparmor/lsm.c
>>>> +++ b/security/apparmor/lsm.c
>>>> @@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
>>>>  module_param_call(mode, param_set_mode, param_get_mode,
>>>>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
>>>>  
>>>> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
>>>> +/* whether policy verification hashing is enabled */
>>>> +bool aa_g_hash_policy = IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
>>>> +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR);
>>>> +#endif
>>>> +
>>>>  /* Debug mode */
>>>>  bool aa_g_debug;
>>>>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
>>>
>>> THanks, that worked, now queued up.
>>
>> And dropped as this patch broke the build.  I'm guessing this really
>> isn't needed if you didn't even test it worked :(
>>
>> Please fix all of this up, test it properly, and then send it as a
>> "clean" patch that I can apply easily.
>>
>> thanks,
>>
>> greg k-h
> 
> Commit 6059f71f1e94 ("apparmor: add parameter to control whether policy 
> hashing is used") didn't even come in until 4.8 and SECURITY_APPARMOR_HASH_DEFAULT
> isn't defined anywhere in 4.4. Fairly certain this isn't needed at all.
> 

Sorry when I did my initial check on the patch backport deviating from
the upstream patch I didn't build test (assumed that had already been
done my bad), nor did I look into if it was valid (also my bad). I
should have.

I agree with your assessment, this isn't needed. 4.4 does not have
the kconfig nor code that uses it. The patch can be fixed, but
including it would be a feature backport not a bug fix like it was for
4.8 kernels.

Greg do not take this patch. I am sorry I wasted you time by missing
this on my initial check.

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

* Re: [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
  2018-09-17 22:12           ` John Johansen
@ 2018-09-21  5:40             ` Loic
  0 siblings, 0 replies; 11+ messages in thread
From: Loic @ 2018-09-21  5:40 UTC (permalink / raw)
  To: John Johansen; +Cc: Nathan Chancellor, Greg KH, stable, arnd, james.l.morris

Le 2018-09-18 00:12, John Johansen a écrit :
> On 09/17/2018 02:56 PM, Nathan Chancellor wrote:
>> On Mon, Sep 17, 2018 at 11:37:54PM +0200, Greg KH wrote:
>>> On Mon, Sep 17, 2018 at 11:15:42PM +0200, Greg KH wrote:
>>>> On Mon, Sep 17, 2018 at 09:45:47PM +0200, Loic wrote:
>>>>> On Mon, 17 Sep 2018 15:58:56 +0200
>>>>> Greg KH <gregkh@linuxfoundation.org> wrote:
>>>>> 
>>>>>> On Sun, Sep 09, 2018 at 04:04:18PM +0200, Loic wrote:
>>>>>>> Hello,
>>>>>>> 
>>>>>>> Tested without any problem so please picked up this for 4.4 to 
>>>>>>> fix the
>>>>>>> problem.
>>>>>>> The patch below is slightly modified to adapt to this version.
>>>>>>> 
>>>>>>> [ Upstream commit 7616ac70d1bb4f2e9d25c1a82d283f3368a7b632 ]
>>>>>>> 
>>>>>>> The newly added Kconfig option could never work and just causes a 
>>>>>>> build
>>>>>>> error
>>>>>>> when disabled:
>>>>>>> 
>>>>>>> security/apparmor/lsm.c:675:25: error:
>>>>>>> 'CONFIG_SECURITY_APPARMOR_HASH_DEFAULT' undeclared here (not in a 
>>>>>>> function)
>>>>>>>  bool aa_g_hash_policy = CONFIG_SECURITY_APPARMOR_HASH_DEFAULT;
>>>>>>> 
>>>>>>> The problem is that the macro undefined in this case, and we need 
>>>>>>> to use the
>>>>>>> IS_ENABLED()
>>>>>>> helper to turn it into a boolean constant.
>>>>>>> 
>>>>>>> Another minor problem with the original patch is that the option 
>>>>>>> is even
>>>>>>> offered
>>>>>>> in sysfs when SECURITY_APPARMOR_HASH is not enabled, so this also 
>>>>>>> hides the
>>>>>>> option
>>>>>>> in that case.
>>>>>>> 
>>>>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>>>>> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether 
>>>>>>> policy
>>>>>>> hashing is used")
>>>>>>> Signed-off-by: John Johansen <john.johansen@canonical.com>
>>>>>>> Signed-off-by: James Morris <james.l.morris@oracle.com>
>>>>>>> ---
>>>>>>> diff -Nurp a/security/apparmor/crypto.c 
>>>>>>> b/security/apparmor/crypto.c
>>>>>>> --- a/security/apparmor/crypto.c
>>>>>>> +++ b/security/apparmor/crypto.c
>>>>>>> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>>>>>>>  	int error = -ENOMEM;
>>>>>>>  	u32 le32_version = cpu_to_le32(version);
>>>>>>> 
>>>>>>> +	if (!aa_g_hash_policy)
>>>>>>> +		return 0;
>>>>>>> +
>>>>>>>  	if (!apparmor_tfm)
>>>>>>>  		return 0;
>>>>>>> 
>>>>>>> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
>>>>>>> --- a/security/apparmor/lsm.c
>>>>>>> +++ b/security/apparmor/lsm.c
>>>>>>> @@ -692,6 +692,12 @@ enum profile_mode aa_g_profile_mode = AP
>>>>>>>  module_param_call(mode, param_set_mode, param_get_mode,
>>>>>>>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
>>>>>>> 
>>>>>>> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
>>>>>>> +/* whether policy verification hashing is enabled */
>>>>>>> +bool aa_g_hash_policy = 
>>>>>>> IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
>>>>>>> +module_param_named(hash_policy, aa_g_hash_policy, aabool, 
>>>>>>> S_IRUSR |
>>>>>>> S_IWUSR);
>>>>>>> +#endif
>>>>>>> +
>>>>>>>  /* Debug mode */
>>>>>>>  bool aa_g_debug;
>>>>>>>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | 
>>>>>>> S_IWUSR);
>>>>>>> ---
>>>>>> 
>>>>>> The patch is whitespace corrupted and can not be applied :(
>>>>> 
>>>>> Sorry, I noticed the problem afterwards. I opened a bug report to 
>>>>> try to fix my mail client:
>>>>> https://github.com/roundcube/roundcubemail/issues/6438
>>>>> 
>>>>>> 
>>>>>> Can you fix that up and resend it so that I can apply it?
>>>>> 
>>>>> No problem. Thanks for all.
>>>>> 
>>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>>> Fixes: 6059f71f1e94 ("apparmor: add parameter to control whether 
>>>>> policy hashing is used")
>>>>> Signed-off-by: John Johansen <john.johansen@canonical.com>
>>>>> Signed-off-by: James Morris <james.l.morris@oracle.com>
>>>>> ---
>>>>> diff -Nurp a/security/apparmor/crypto.c 
>>>>> b/security/apparmor/crypto.c
>>>>> --- a/security/apparmor/crypto.c
>>>>> +++ b/security/apparmor/crypto.c
>>>>> @@ -39,6 +39,9 @@ int aa_calc_profile_hash(struct aa_profi
>>>>>  	int error = -ENOMEM;
>>>>>  	u32 le32_version = cpu_to_le32(version);
>>>>> 
>>>>> +	if (!aa_g_hash_policy)
>>>>> +		return 0;
>>>>> +
>>>>>  	if (!apparmor_tfm)
>>>>>  		return 0;
>>>>> 
>>>>> diff -Nurp a/security/apparmor/lsm.c b/security/apparmor/lsm.c
>>>>> --- a/security/apparmor/lsm.c
>>>>> +++ b/security/apparmor/lsm.c
>>>>> @@ -692,6 +694,12 @@ enum profile_mode aa_g_profile_mode = AP
>>>>>  module_param_call(mode, param_set_mode, param_get_mode,
>>>>>  		  &aa_g_profile_mode, S_IRUSR | S_IWUSR);
>>>>> 
>>>>> +#ifdef CONFIG_SECURITY_APPARMOR_HASH
>>>>> +/* whether policy verification hashing is enabled */
>>>>> +bool aa_g_hash_policy = 
>>>>> IS_ENABLED(CONFIG_SECURITY_APPARMOR_HASH_DEFAULT);
>>>>> +module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR 
>>>>> | S_IWUSR);
>>>>> +#endif
>>>>> +
>>>>>  /* Debug mode */
>>>>>  bool aa_g_debug;
>>>>>  module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
>>>> 
>>>> THanks, that worked, now queued up.
>>> 
>>> And dropped as this patch broke the build.  I'm guessing this really
>>> isn't needed if you didn't even test it worked :(
>>> 
>>> Please fix all of this up, test it properly, and then send it as a
>>> "clean" patch that I can apply easily.
>>> 
>>> thanks,
>>> 
>>> greg k-h
>> 
>> Commit 6059f71f1e94 ("apparmor: add parameter to control whether 
>> policy
>> hashing is used") didn't even come in until 4.8 and 
>> SECURITY_APPARMOR_HASH_DEFAULT
>> isn't defined anywhere in 4.4. Fairly certain this isn't needed at 
>> all.
>> 
> 
> Sorry when I did my initial check on the patch backport deviating from
> the upstream patch I didn't build test (assumed that had already been
> done my bad), nor did I look into if it was valid (also my bad). I
> should have.

I'm the one following sorry, I forgot to report the Kconfig of the 
latest version of the 4.9 kernel that I used during my tests. I admit my 
mistakes and learn from them. Please excuse me!

> I agree with your assessment, this isn't needed. 4.4 does not have
> the kconfig nor code that uses it.

It's not really the backport functionality that's interesting but the 
return 0.
Can you certify to me that "return 0" would be of no use?

> Greg do not take this patch. I am sorry I wasted you time by missing
> this on my initial check.

It's me, I'm going to review my method of submitting a patch.

-- 
Best regards,

Loic

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

end of thread, other threads:[~2018-09-21 11:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-09 14:04 [PATCH] apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling Loic
2018-09-17 11:49 ` Greg KH
2018-09-17 13:40   ` John Johansen
2018-09-17 13:58     ` Greg KH
2018-09-17 13:58 ` Greg KH
2018-09-17 19:45   ` Loic
2018-09-17 21:15     ` Greg KH
2018-09-17 21:37       ` Greg KH
2018-09-17 21:56         ` Nathan Chancellor
2018-09-17 22:12           ` John Johansen
2018-09-21  5:40             ` Loic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox