On 2021-03-22 17:27, Arnd Bergmann wrote:
 From: Arnd Bergmann <arnd(a)arndb.de>
 
 gcc warns about an empty statement when audit_remove_mark is defined to
 nothing:
 
 kernel/auditfilter.c: In function 'audit_data_to_entry':
 kernel/auditfilter.c:609:51: error: suggest braces around empty body in an 'if'
statement [-Werror=empty-body]
   609 |                 audit_remove_mark(entry->rule.exe); /* that's the template
one */
       |                                                   ^
 
 Change the macros to use the usual "do { } while (0)" instead, and change a
 few more that were (void)0, for consistency.
 
 Signed-off-by: Arnd Bergmann <arnd(a)arndb.de> 
Acked-by: Richard Guy Briggs <rgb(a)redhat.com>
 ---
 v2: convert two more macros
 ---
  kernel/audit.h | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/kernel/audit.h b/kernel/audit.h
 index 3b9c0945225a..1522e100fd17 100644
 --- a/kernel/audit.h
 +++ b/kernel/audit.h
 @@ -292,8 +292,8 @@ extern void audit_filter_inodes(struct task_struct *tsk,
  extern struct list_head *audit_killed_trees(void);
  #else /* CONFIG_AUDITSYSCALL */
  #define auditsc_get_stamp(c, t, s) 0
 -#define audit_put_watch(w) {}
 -#define audit_get_watch(w) {}
 +#define audit_put_watch(w) do { } while (0)
 +#define audit_get_watch(w) do { } while (0)
  #define audit_to_watch(k, p, l, o) (-EINVAL)
  #define audit_add_watch(k, l) (-EINVAL)
  #define audit_remove_watch_rule(k) BUG()
 @@ -302,8 +302,8 @@ extern struct list_head *audit_killed_trees(void);
  
  #define audit_alloc_mark(k, p, l) (ERR_PTR(-EINVAL))
  #define audit_mark_path(m) ""
 -#define audit_remove_mark(m)
 -#define audit_remove_mark_rule(k)
 +#define audit_remove_mark(m) do { } while (0)
 +#define audit_remove_mark_rule(k) do { } while (0)
  #define audit_mark_compare(m, i, d) 0
  #define audit_exe_compare(t, m) (-EINVAL)
  #define audit_dupe_exe(n, o) (-EINVAL)
 @@ -311,8 +311,8 @@ extern struct list_head *audit_killed_trees(void);
  #define audit_remove_tree_rule(rule) BUG()
  #define audit_add_tree_rule(rule) -EINVAL
  #define audit_make_tree(rule, str, op) -EINVAL
 -#define audit_trim_trees() (void)0
 -#define audit_put_tree(tree) (void)0
 +#define audit_trim_trees() do { } while (0)
 +#define audit_put_tree(tree) do { } while (0)
  #define audit_tag_tree(old, new) -EINVAL
  #define audit_tree_path(rule) ""	/* never called */
  #define audit_kill_trees(context) BUG()
 -- 
 2.29.2
  
- RGB
--
Richard Guy Briggs <rgb(a)redhat.com>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635