On Fri, Nov 16, 2018 at 12:18 PM Richard Guy Briggs <rgb(a)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(a)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