Re: [PATCH] audit: Fix compile time warning on kernel/auditsc.c

From: Rakib Mullick
Date: Sun Jan 25 2009 - 01:02:42 EST


On 1/25/09, Valdis.Kletnieks@xxxxxx <Valdis.Kletnieks@xxxxxx> wrote:
>
> Blech. That's abuse of inline. Can you find some other, more kernel-y
> way to address the issue? (Possibly make it an actual inline up in a .h
> file, with a #ifdef wrapping around it, or do something matching what's
> done at the call site (apparently #ifdef'ing code is accepted in that .c
> file, adding another #ifdef around that function to match all the *other*
> '#ifdef CONFIG_AUDIT_TREE' would be less ugly than 'inline'.

Hi, Valdis. Thanks for your suggestions. Actually without inline-ing
the warning doesn't resolves. So, as you said I moved
audit_set_auditable function into kernel/audit.h, but not #ifdef
wrapping around it rather #ifdef into it. Since wrapping #ifdef
generates same warning few times more. Here is the patch. If I miss
anything, then please notice.

-----
Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>

--- linux-2.6-orig/kernel/audit.h 2009-01-23 18:28:45.000000000 +0600
+++ linux-2.6/kernel/audit.h 2009-01-25 11:50:22.520217272 +0600
@@ -121,6 +121,16 @@ extern struct mutex audit_filter_mutex;
extern void audit_free_rule_rcu(struct rcu_head *);
extern struct list_head audit_filter_list[];

+static inline void audit_set_auditable(struct audit_context *ctx)
+{
+#ifdef CONFIG_AUDIT_TREE
+ if (!ctx->prio) {
+ ctx->prio = 1;
+ ctx->current_state = AUDIT_RECORD_CONTEXT;
+ }
+#endif
+}
+
#ifdef CONFIG_AUDIT_TREE
extern struct audit_chunk *audit_tree_lookup(const struct inode *);
extern void audit_put_chunk(struct audit_chunk *);

------
Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>

--- linux-2.6-orig/kernel/auditsc.c 2009-01-23 18:28:45.000000000 +0600
+++ linux-2.6/kernel/auditsc.c 2009-01-25 11:50:25.712731936 +0600
@@ -741,14 +741,6 @@ void audit_filter_inodes(struct task_str
rcu_read_unlock();
}

-static void audit_set_auditable(struct audit_context *ctx)
-{
- if (!ctx->prio) {
- ctx->prio = 1;
- ctx->current_state = AUDIT_RECORD_CONTEXT;
- }
-}
-
static inline struct audit_context *audit_get_context(struct task_struct *tsk,
int return_valid,
int return_code)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/