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

From: Randy Dunlap <[email-masked]>
Date: Thu, 12 Feb 2009 10:30:04 -0800

Mimi Zohar wrote:
> On Thu, 2009-02-12 at 09:54 -0800, Randy Dunlap wrote:
>> 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?
> 
> The patch looks good to me, but looking at the code,
> http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=blob_plain;f=mm/shmem.c;hb=168b70b72a78f289046823d810c29376e211a6de
> it doesn't look like the previous patch was applied.

Which previous patch?  The one for ima & SHMEM=n?
Yes, that build combination still fails also.

James...?

>> 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]>
> Acked-by: Mimi Zohar <[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.

-- 
~Randy