Skip to content

Commit

Permalink
ima: audit is compiled only when enabled
Browse files Browse the repository at this point in the history
IMA auditing code was compiled even when CONFIG_AUDIT was not enabled.
This patch compiles auditing code only when possible and enabled.

Signed-off-by: Dmitry Kasatkin <[email protected]>
Signed-off-by: Mimi Zohar <[email protected]>
  • Loading branch information
Dmitry Kasatkin authored and Mimi Zohar committed Jul 5, 2012
1 parent 7ff2267 commit 417c6c8
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 5 deletions.
3 changes: 2 additions & 1 deletion security/integrity/ima/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ config IMA_MEASURE_PCR_IDX
measurement list. If unsure, use the default 10.

config IMA_AUDIT
bool
bool "Enables auditing support"
depends on IMA
depends on AUDIT
default y
help
This option adds a kernel parameter 'ima_audit', which
Expand Down
3 changes: 2 additions & 1 deletion security/integrity/ima/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
obj-$(CONFIG_IMA) += ima.o

ima-y := ima_fs.o ima_queue.o ima_init.o ima_main.o ima_crypto.o ima_api.o \
ima_policy.o ima_audit.o
ima_policy.o
ima-$(CONFIG_IMA_AUDIT) += ima_audit.o
9 changes: 9 additions & 0 deletions security/integrity/ima/ima.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,19 @@ struct ima_queue_entry {
};
extern struct list_head ima_measurements; /* list of all measurements */

#ifdef CONFIG_IMA_AUDIT
/* declarations */
void integrity_audit_msg(int audit_msgno, struct inode *inode,
const unsigned char *fname, const char *op,
const char *cause, int result, int info);
#else
static inline void integrity_audit_msg(int audit_msgno, struct inode *inode,
const unsigned char *fname,
const char *op, const char *cause,
int result, int info)
{
}
#endif

/* Internal IMA function definitions */
int ima_init(void);
Expand Down
3 changes: 0 additions & 3 deletions security/integrity/ima/ima_audit.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@

static int ima_audit;

#ifdef CONFIG_IMA_AUDIT

/* ima_audit_setup - enable informational auditing messages */
static int __init ima_audit_setup(char *str)
{
Expand All @@ -29,7 +27,6 @@ static int __init ima_audit_setup(char *str)
return 1;
}
__setup("ima_audit=", ima_audit_setup);
#endif

void integrity_audit_msg(int audit_msgno, struct inode *inode,
const unsigned char *fname, const char *op,
Expand Down

0 comments on commit 417c6c8

Please sign in to comment.