Subject: [PATCH -next] security/audit/ima: fix build error

From: Randy Dunlap <[email-masked]>
Date: Thu, 12 Feb 2009 09:54:14 -0800

On Tue, 10 Feb 2009 19:30:24 -0500 Mimi Zohar wrote:

> Stephen Rothwell <[email-masked]> wrote on 02/10/2009 05:40:50 PM:
> 
> > Hi Randy,
> > 
> > On Tue, 10 Feb 2009 11:55:12 -0800 Randy Dunlap 
> <[email-masked]> wrote:
> > >
> > > Stephen Rothwell wrote:
> > > > 
> > > > Dropped trees (temporarily):
> > > >    audit (difficult conflicts)
> > > 
> > > Maybe this is fixed by the dropped audit tree?
> > 
> > The audit tree is Al Viro's (cc'd).  But I *think* everything in it has
> > been applied upstream.
> > 
> > > linux-next-20090210/security/integrity/ima/ima_policy.c:111: error: 
> implicit
> > declaration of function 'security_audit_rule_match'
> > > linux-next-20090210/security/integrity/ima/ima_policy.c:230: error: 
> implicit
> > declaration of function 'security_audit_rule_init'
> > > 
> > > when
> > > CONFIG_SECURITY=y
> > > CONFIG_AUDIT=n
> > > CONFIG_IMA=y
> > > CONFIG_IMA_AUDIT=y
> > 
> > This looks more like a security subsystem than audit to me?
> 
> These are the IMA Kconfig rules:
> CONFIG_IMA=y
> CONFIG_IMA_MEASURE_PCR_IDX=10
> CONFIG_IMA_AUDIT=y
> CONFIG_IMA_LSM_RULES=y
> 
> CONFIG_IMA_LSM_RULES requires the audit subsystem.  The default
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> measurement policy is not defined terms of the LSM extended
> attributes, and thus is not required.

This config still fails to build in linux-next-20090212.  And the ^^^
statement above may be correct, but it's not enforced in Kconfig, so let's
do that, OK?

From: Randy Dunlap <[email-masked]>

IMA_LSM_RULES requires AUDIT.  This is automatic if SECURITY_SELINUX=y
but not when SECURITY_SMACK=y (and SECURITY_SELINUX=n), so make the
dependency explicit.  This fixes the following build error:

security/integrity/ima/ima_policy.c:111:error: implicit declaration of function 'security_audit_rule_match'
security/integrity/ima/ima_policy.c:230:error: implicit declaration of function 'security_audit_rule_init'

Signed-off-by: Randy Dunlap <[email-masked]>
---
 security/integrity/ima/Kconfig |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-next-20090212.orig/security/integrity/ima/Kconfig
+++ linux-next-20090212/security/integrity/ima/Kconfig
@@ -49,7 +49,7 @@ config IMA_AUDIT
 
 config IMA_LSM_RULES
 	bool
-	depends on IMA && (SECURITY_SELINUX || SECURITY_SMACK)
+	depends on IMA && AUDIT && (SECURITY_SELINUX || SECURITY_SMACK)
 	default y
 	help
-	  Disabling this option will disregard LSM based policy rules
+	  Disabling this option will disregard LSM based policy rules.