On Wed, 2020-04-22 at 11:57 +0200, Greg Kroah-Hartman wrote: > From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > > [ Upstream commit 44a52022e7f15cbaab957df1c14f7a4f527ef7cf ] > > When EXT2_ATTR_DEBUG is not defined, modify the 2 debug macros > to use the no_printk() macro instead of <nothing>. > This fixes gcc warnings when -Wextra is used: > > ../fs/ext2/xattr.c:252:42: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] > ../fs/ext2/xattr.c:258:42: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] > ../fs/ext2/xattr.c:330:42: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] > ../fs/ext2/xattr.c:872:45: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body] > > I have verified that the only object code change (with gcc 7.5.0) is > the reversal of some instructions from 'cmp a,b' to 'cmp b,a'. It'd be better to use the ext4 style defines: fs/ext4/xattr.c:# define ea_idebug(inode, fmt, ...) \ fs/ext4/xattr.c- printk(KERN_DEBUG "inode %s:%lu: " fmt "\n", \ fs/ext4/xattr.c- inode->i_sb->s_id, inode->i_ino, ##__VA_ARGS__) fs/ext4/xattr.c:# define ea_bdebug(bh, fmt, ...) \ fs/ext4/xattr.c- printk(KERN_DEBUG "block %pg:%lu: " fmt "\n", \ fs/ext4/xattr.c- bh->b_bdev, (unsigned long)bh->b_blocknr, ##__VA_ARGS__) -- fs/ext4/xattr.c:# define ea_idebug(inode, fmt, ...) no_printk(fmt, ##__VA_ARGS__) fs/ext4/xattr.c:# define ea_bdebug(bh, fmt, ...) no_printk(fmt, ##__VA_ARGS__) So the output logging won't be split across multiple lines. > diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c [] > @@ -55,6 +55,7 @@ > > #include <linux/buffer_head.h> > #include <linux/init.h> > +#include <linux/printk.h> > #include <linux/slab.h> > #include <linux/mbcache.h> > #include <linux/quotaops.h> > @@ -85,8 +86,8 @@ > printk("\n"); \ > } while (0) > #else > -# define ea_idebug(f...) > -# define ea_bdebug(f...) > +# define ea_idebug(inode, f...) no_printk(f) > +# define ea_bdebug(bh, f...) no_printk(f) > #endif > > static int ext2_xattr_set2(struct inode *, struct buffer_head *, --- fs/ext2/xattr.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c index 943cc46..7740582 100644 --- a/fs/ext2/xattr.c +++ b/fs/ext2/xattr.c @@ -72,21 +72,15 @@ #define IS_LAST_ENTRY(entry) (*(__u32 *)(entry) == 0) #ifdef EXT2_XATTR_DEBUG -# define ea_idebug(inode, f...) do { \ - printk(KERN_DEBUG "inode %s:%ld: ", \ - inode->i_sb->s_id, inode->i_ino); \ - printk(f); \ - printk("\n"); \ - } while (0) -# define ea_bdebug(bh, f...) do { \ - printk(KERN_DEBUG "block %pg:%lu: ", \ - bh->b_bdev, (unsigned long) bh->b_blocknr); \ - printk(f); \ - printk("\n"); \ - } while (0) +# define ea_idebug(inode, fmt, ...) \ + printk(KERN_DEBUG "inode %s:%lu: " fmt "\n", \ + inode->i_sb->s_id, inode->i_ino, ##__VA_ARGS__) +# define ea_bdebug(bh, fmt, ...) \ + printk(KERN_DEBUG "block %pg:%lu: " fmt "\n", \ + bh->b_bdev, (unsigned long)bh->b_blocknr, ##__VA_ARGS__) #else -# define ea_idebug(inode, f...) no_printk(f) -# define ea_bdebug(bh, f...) no_printk(f) +# define ea_idebug(inode, fmt, ...) no_printk(fmt, ##__VA_ARGS__) +# define ea_bdebug(bh, fmt, ...) no_printk(fmt, ##__VA_ARGS__) #endif static int ext2_xattr_set2(struct inode *, struct buffer_head *,