[PATCH] audit: remove WATCH and TREE config options

Paul Moore paul at paul-moore.com
Mon Nov 19 21:58:56 UTC 2018


On Fri, Nov 16, 2018 at 12:18 PM Richard Guy Briggs <rgb at redhat.com> wrote:
> Remove the CONFIG_AUDIT_WATCH and CONFIG_AUDIT_TREE config options since
> they are both dependent on CONFIG_AUDITSYSCALL and force
> CONFIG_FSNOTIFY.
>
> Signed-off-by: Richard Guy Briggs <rgb at redhat.com>
> ---
>  init/Kconfig     |  9 ---------
>  kernel/Makefile  |  4 +---
>  kernel/audit.h   |  6 +++---
>  kernel/auditsc.c | 10 ----------
>  4 files changed, 4 insertions(+), 25 deletions(-)

Merged into audit/next.

> diff --git a/init/Kconfig b/init/Kconfig
> index a4112e95724a..7eb2538e6ca0 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -335,15 +335,6 @@ config HAVE_ARCH_AUDITSYSCALL
>  config AUDITSYSCALL
>         def_bool y
>         depends on AUDIT && HAVE_ARCH_AUDITSYSCALL
> -
> -config AUDIT_WATCH
> -       def_bool y
> -       depends on AUDITSYSCALL
> -       select FSNOTIFY
> -
> -config AUDIT_TREE
> -       def_bool y
> -       depends on AUDITSYSCALL
>         select FSNOTIFY
>
>  source "kernel/irq/Kconfig"
> diff --git a/kernel/Makefile b/kernel/Makefile
> index 7343b3a9bff0..9dc7f519129d 100644
> --- a/kernel/Makefile
> +++ b/kernel/Makefile
> @@ -76,9 +76,7 @@ obj-$(CONFIG_IKCONFIG) += configs.o
>  obj-$(CONFIG_SMP) += stop_machine.o
>  obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o
>  obj-$(CONFIG_AUDIT) += audit.o auditfilter.o
> -obj-$(CONFIG_AUDITSYSCALL) += auditsc.o
> -obj-$(CONFIG_AUDIT_WATCH) += audit_watch.o audit_fsnotify.o
> -obj-$(CONFIG_AUDIT_TREE) += audit_tree.o
> +obj-$(CONFIG_AUDITSYSCALL) += auditsc.o audit_watch.o audit_fsnotify.o audit_tree.o
>  obj-$(CONFIG_GCOV_KERNEL) += gcov/
>  obj-$(CONFIG_KCOV) += kcov.o
>  obj-$(CONFIG_KPROBES) += kprobes.o
> diff --git a/kernel/audit.h b/kernel/audit.h
> index 9a3828bd387b..0b5295aeaebb 100644
> --- a/kernel/audit.h
> +++ b/kernel/audit.h
> @@ -268,7 +268,7 @@ extern void audit_log_d_path_exe(struct audit_buffer *ab,
>  extern void audit_put_tty(struct tty_struct *tty);
>
>  /* audit watch functions */
> -#ifdef CONFIG_AUDIT_WATCH
> +#ifdef CONFIG_AUDITSYSCALL
>  extern void audit_put_watch(struct audit_watch *watch);
>  extern void audit_get_watch(struct audit_watch *watch);
>  extern int audit_to_watch(struct audit_krule *krule, char *path, int len, u32 op);
> @@ -301,9 +301,9 @@ extern void audit_log_d_path_exe(struct audit_buffer *ab,
>  #define audit_mark_compare(m, i, d) 0
>  #define audit_exe_compare(t, m) (-EINVAL)
>  #define audit_dupe_exe(n, o) (-EINVAL)
> -#endif /* CONFIG_AUDIT_WATCH */
> +#endif /* CONFIG_AUDITSYSCALL */
>
> -#ifdef CONFIG_AUDIT_TREE
> +#ifdef CONFIG_AUDITSYSCALL
>  extern struct audit_chunk *audit_tree_lookup(const struct inode *inode);
>  extern void audit_put_chunk(struct audit_chunk *chunk);
>  extern bool audit_tree_match(struct audit_chunk *chunk, struct audit_tree *tree);
> diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> index 1513873e23bd..605f2d825204 100644
> --- a/kernel/auditsc.c
> +++ b/kernel/auditsc.c
> @@ -200,7 +200,6 @@ static int audit_match_filetype(struct audit_context *ctx, int val)
>   * References in it _are_ dropped - at the same time we free/drop aux stuff.
>   */
>
> -#ifdef CONFIG_AUDIT_TREE
>  static void audit_set_auditable(struct audit_context *ctx)
>  {
>         if (!ctx->prio) {
> @@ -245,12 +244,10 @@ static int grow_tree_refs(struct audit_context *ctx)
>         ctx->tree_count = 31;
>         return 1;
>  }
> -#endif
>
>  static void unroll_tree_refs(struct audit_context *ctx,
>                       struct audit_tree_refs *p, int count)
>  {
> -#ifdef CONFIG_AUDIT_TREE
>         struct audit_tree_refs *q;
>         int n;
>         if (!p) {
> @@ -274,7 +271,6 @@ static void unroll_tree_refs(struct audit_context *ctx,
>         }
>         ctx->trees = p;
>         ctx->tree_count = count;
> -#endif
>  }
>
>  static void free_tree_refs(struct audit_context *ctx)
> @@ -288,7 +284,6 @@ static void free_tree_refs(struct audit_context *ctx)
>
>  static int match_tree_refs(struct audit_context *ctx, struct audit_tree *tree)
>  {
> -#ifdef CONFIG_AUDIT_TREE
>         struct audit_tree_refs *p;
>         int n;
>         if (!tree)
> @@ -305,7 +300,6 @@ static int match_tree_refs(struct audit_context *ctx, struct audit_tree *tree)
>                         if (audit_tree_match(p->c[n], tree))
>                                 return 1;
>         }
> -#endif
>         return 0;
>  }
>
> @@ -1602,7 +1596,6 @@ void __audit_syscall_exit(int success, long return_code)
>
>  static inline void handle_one(const struct inode *inode)
>  {
> -#ifdef CONFIG_AUDIT_TREE
>         struct audit_context *context;
>         struct audit_tree_refs *p;
>         struct audit_chunk *chunk;
> @@ -1627,12 +1620,10 @@ static inline void handle_one(const struct inode *inode)
>                 return;
>         }
>         put_tree_ref(context, chunk);
> -#endif
>  }
>
>  static void handle_path(const struct dentry *dentry)
>  {
> -#ifdef CONFIG_AUDIT_TREE
>         struct audit_context *context;
>         struct audit_tree_refs *p;
>         const struct dentry *d, *parent;
> @@ -1685,7 +1676,6 @@ static void handle_path(const struct dentry *dentry)
>                 return;
>         }
>         rcu_read_unlock();
> -#endif
>  }
>
>  static struct audit_names *audit_alloc_name(struct audit_context *context,
> --
> 1.8.3.1
>


-- 
paul moore
www.paul-moore.com




More information about the Linux-audit mailing list