On 2021-03-22 12:45, Arnd Bergmann wrote: > From: Arnd Bergmann <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.
So what about audit_put_watch() and audit_get_watch() which are set to {}? (And all of include/linux/audit.h that uses the latter...) Does this only matter if they are the only action called in an if or loop? > Signed-off-by: Arnd Bergmann <a...@arndb.de> > --- > kernel/audit.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/kernel/audit.h b/kernel/audit.h > index 3b9c0945225a..c39c5f3b8422 100644 > --- a/kernel/audit.h > +++ b/kernel/audit.h > @@ -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 <r...@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 -- Linux-audit mailing list Linux-audit@redhat.com https://listman.redhat.com/mailman/listinfo/linux-audit