* [PATCH] ext2: fix empty body warnings when -Wextra is used
@ 2020-03-23 2:45 Randy Dunlap
2020-03-23 6:08 ` kbuild test robot
2020-03-23 12:02 ` Jan Kara
0 siblings, 2 replies; 3+ messages in thread
From: Randy Dunlap @ 2020-03-23 2:45 UTC (permalink / raw)
To: Linux FS Devel, linux-ext4, Jan Kara
From: Randy Dunlap <rdunlap@infradead.org>
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'.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jan Kara <jack@suse.com>
Cc: linux-ext4@vger.kernel.org
---
fs/ext2/xattr.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- linux-next-20200320.orig/fs/ext2/xattr.c
+++ linux-next-20200320/fs/ext2/xattr.c
@@ -56,6 +56,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>
@@ -84,8 +85,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 *,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ext2: fix empty body warnings when -Wextra is used
2020-03-23 2:45 [PATCH] ext2: fix empty body warnings when -Wextra is used Randy Dunlap
@ 2020-03-23 6:08 ` kbuild test robot
2020-03-23 12:02 ` Jan Kara
1 sibling, 0 replies; 3+ messages in thread
From: kbuild test robot @ 2020-03-23 6:08 UTC (permalink / raw)
To: Randy Dunlap; +Cc: kbuild-all, Linux FS Devel, linux-ext4, Jan Kara
[-- Attachment #1: Type: text/plain, Size: 6016 bytes --]
Hi Randy,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.6-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Randy-Dunlap/ext2-fix-empty-body-warnings-when-Wextra-is-used/20200323-113040
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 16fbf79b0f83bc752cee8589279f1ebfe57b3b6e
config: h8300-randconfig-a001-20200322 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from include/linux/buffer_head.h:12,
from fs/ext2/xattr.c:57:
fs/ext2/xattr.c: In function 'ext2_xattr_cache_insert':
>> fs/ext2/xattr.c:869:18: error: 'ext2_xattr_cache' undeclared (first use in this function); did you mean 'ext2_xattr_list'?
869 | atomic_read(&ext2_xattr_cache->c_entry_count));
| ^~~~~~~~~~~~~~~~
include/linux/printk.h:137:17: note: in definition of macro 'no_printk'
137 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
>> fs/ext2/xattr.c:868:4: note: in expansion of macro 'ea_bdebug'
868 | ea_bdebug(bh, "already in cache (%d cache entries)",
| ^~~~~~~~~
include/linux/compiler.h:269:22: note: in expansion of macro '__READ_ONCE'
269 | #define READ_ONCE(x) __READ_ONCE(x, 1)
| ^~~~~~~~~~~
arch/h8300/include/asm/atomic.h:17:25: note: in expansion of macro 'READ_ONCE'
17 | #define atomic_read(v) READ_ONCE((v)->counter)
| ^~~~~~~~~
>> fs/ext2/xattr.c:869:5: note: in expansion of macro 'atomic_read'
869 | atomic_read(&ext2_xattr_cache->c_entry_count));
| ^~~~~~~~~~~
fs/ext2/xattr.c:869:18: note: each undeclared identifier is reported only once for each function it appears in
869 | atomic_read(&ext2_xattr_cache->c_entry_count));
| ^~~~~~~~~~~~~~~~
include/linux/printk.h:137:17: note: in definition of macro 'no_printk'
137 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
>> fs/ext2/xattr.c:868:4: note: in expansion of macro 'ea_bdebug'
868 | ea_bdebug(bh, "already in cache (%d cache entries)",
| ^~~~~~~~~
include/linux/compiler.h:269:22: note: in expansion of macro '__READ_ONCE'
269 | #define READ_ONCE(x) __READ_ONCE(x, 1)
| ^~~~~~~~~~~
arch/h8300/include/asm/atomic.h:17:25: note: in expansion of macro 'READ_ONCE'
17 | #define atomic_read(v) READ_ONCE((v)->counter)
| ^~~~~~~~~
>> fs/ext2/xattr.c:869:5: note: in expansion of macro 'atomic_read'
869 | atomic_read(&ext2_xattr_cache->c_entry_count));
| ^~~~~~~~~~~
vim +869 fs/ext2/xattr.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 849
^1da177e4c3f41 Linus Torvalds 2005-04-16 850 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 851 * ext2_xattr_cache_insert()
^1da177e4c3f41 Linus Torvalds 2005-04-16 852 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 853 * Create a new entry in the extended attribute cache, and insert
^1da177e4c3f41 Linus Torvalds 2005-04-16 854 * it unless such an entry is already in the cache.
^1da177e4c3f41 Linus Torvalds 2005-04-16 855 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 856 * Returns 0, or a negative error number on failure.
^1da177e4c3f41 Linus Torvalds 2005-04-16 857 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 858 static int
7a2508e1b657cf Jan Kara 2016-02-22 859 ext2_xattr_cache_insert(struct mb_cache *cache, struct buffer_head *bh)
^1da177e4c3f41 Linus Torvalds 2005-04-16 860 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 861 __u32 hash = le32_to_cpu(HDR(bh)->h_hash);
^1da177e4c3f41 Linus Torvalds 2005-04-16 862 int error;
^1da177e4c3f41 Linus Torvalds 2005-04-16 863
3e159b9553e402 Chengguang Xu 2018-11-15 864 error = mb_cache_entry_create(cache, GFP_NOFS, hash, bh->b_blocknr,
3e159b9553e402 Chengguang Xu 2018-11-15 865 true);
^1da177e4c3f41 Linus Torvalds 2005-04-16 866 if (error) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 867 if (error == -EBUSY) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 @868 ea_bdebug(bh, "already in cache (%d cache entries)",
^1da177e4c3f41 Linus Torvalds 2005-04-16 @869 atomic_read(&ext2_xattr_cache->c_entry_count));
^1da177e4c3f41 Linus Torvalds 2005-04-16 870 error = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 871 }
be0726d33cb8f4 Jan Kara 2016-02-22 872 } else
be0726d33cb8f4 Jan Kara 2016-02-22 873 ea_bdebug(bh, "inserting [%x]", (int)hash);
^1da177e4c3f41 Linus Torvalds 2005-04-16 874 return error;
^1da177e4c3f41 Linus Torvalds 2005-04-16 875 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 876
:::::: The code at line 869 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 23720 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ext2: fix empty body warnings when -Wextra is used
2020-03-23 2:45 [PATCH] ext2: fix empty body warnings when -Wextra is used Randy Dunlap
2020-03-23 6:08 ` kbuild test robot
@ 2020-03-23 12:02 ` Jan Kara
1 sibling, 0 replies; 3+ messages in thread
From: Jan Kara @ 2020-03-23 12:02 UTC (permalink / raw)
To: Randy Dunlap; +Cc: Linux FS Devel, linux-ext4, Jan Kara
On Sun 22-03-20 19:45:41, Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
>
> 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'.
>
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Jan Kara <jack@suse.com>
> Cc: linux-ext4@vger.kernel.org
Thanks! I've queued the patch to my tree.
Honza
> ---
> fs/ext2/xattr.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> --- linux-next-20200320.orig/fs/ext2/xattr.c
> +++ linux-next-20200320/fs/ext2/xattr.c
> @@ -56,6 +56,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>
> @@ -84,8 +85,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 *,
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-03-23 12:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-23 2:45 [PATCH] ext2: fix empty body warnings when -Wextra is used Randy Dunlap
2020-03-23 6:08 ` kbuild test robot
2020-03-23 12:02 ` Jan Kara
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).