Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1316822 > unrolled thread

[PATCH] ncpfs: avoid unused variable warning

Started byArnd Bergmann <arnd@arndb.de>
First post2016-01-25 16:40 +0100
Last post2016-01-26 20:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] ncpfs: avoid unused variable warning Arnd Bergmann <arnd@arndb.de> - 2016-01-25 16:40 +0100
    [PATCH] gfs2: avoid uninitialized variable warning Arnd Bergmann <arnd@arndb.de> - 2016-01-25 16:40 +0100
      Re: [PATCH] gfs2: avoid uninitialized variable warning Bob Peterson <rpeterso@redhat.com> - 2016-01-26 20:10 +0100

#1316822 — [PATCH] ncpfs: avoid unused variable warning

FromArnd Bergmann <arnd@arndb.de>
Date2016-01-25 16:40 +0100
Subject[PATCH] ncpfs: avoid unused variable warning
Message-ID<qURpg-60C-3@gated-at.bofh.it>
When CONFIG_NCPFS_NLS is not set, we get a harmless warning
about an unused local variable, because that is only passed
into a macro that does not evaluate its argument:

fs/ncpfs/dir.c:136:23: warning: unused variable 'sb' [-Wunused-variable]

This replaces the trivial macro with an equally trivial
inline function, which avoids the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 621e155a3591 ("fs: change d_compare for rcu-walk")
---
 fs/ncpfs/ncplib_kernel.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/ncpfs/ncplib_kernel.h b/fs/ncpfs/ncplib_kernel.h
index 5233fbc1747a..2bbd70f26d0a 100644
--- a/fs/ncpfs/ncplib_kernel.h
+++ b/fs/ncpfs/ncplib_kernel.h
@@ -148,7 +148,10 @@ int ncp__io2vol(unsigned char *, unsigned int *,
 int ncp__vol2io(unsigned char *, unsigned int *,
 				const unsigned char *, unsigned int, int);
 
-#define NCP_IO_TABLE(sb)	NULL
+static inline struct nls_table *NCP_IO_TABLE(struct super_block *sb)
+{
+	return NULL;
+}
 #define ncp_tolower(t, c)	tolower(c)
 #define ncp_toupper(t, c)	toupper(c)
 #define ncp_io2vol(S,m,i,n,k,U)	ncp__io2vol(m,i,n,k,U)
-- 
2.7.0

[toc] | [next] | [standalone]


#1316831 — [PATCH] gfs2: avoid uninitialized variable warning

FromArnd Bergmann <arnd@arndb.de>
Date2016-01-25 16:40 +0100
Subject[PATCH] gfs2: avoid uninitialized variable warning
Message-ID<qURph-60C-33@gated-at.bofh.it>
In reply to#1316822
We get a bogus warning about a potential uninitialized variable
use in gfs2, because the compiler does not figure out that we
never use the leaf number if get_leaf_nr() returns an error:

fs/gfs2/dir.c: In function 'get_first_leaf':
fs/gfs2/dir.c:802:9: warning: 'leaf_no' may be used uninitialized in this function [-Wmaybe-uninitialized]
fs/gfs2/dir.c: In function 'dir_split_leaf':
fs/gfs2/dir.c:1021:8: warning: 'leaf_no' may be used uninitialized in this function [-Wmaybe-uninitialized]

Changing the 'if (!error)' to 'if (!IS_ERR_VALUE(error))' is
sufficient to let gcc understand that this is exactly the same
condition as in IS_ERR() so it can optimize the code path enough
to understand it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/gfs2/dir.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index 6a92592304fb..d4014af4f064 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/dir.c
@@ -798,7 +798,7 @@ static int get_first_leaf(struct gfs2_inode *dip, u32 index,
 	int error;
 
 	error = get_leaf_nr(dip, index, &leaf_no);
-	if (!error)
+	if (!IS_ERR_VALUE(error))
 		error = get_leaf(dip, leaf_no, bh_out);
 
 	return error;
@@ -1014,7 +1014,7 @@ static int dir_split_leaf(struct inode *inode, const struct qstr *name)
 
 	index = name->hash >> (32 - dip->i_depth);
 	error = get_leaf_nr(dip, index, &leaf_no);
-	if (error)
+	if (IS_ERR_VALUE(error))
 		return error;
 
 	/*  Get the old leaf block  */
-- 
2.7.0

[toc] | [prev] | [next] | [standalone]


#1318264 — Re: [PATCH] gfs2: avoid uninitialized variable warning

FromBob Peterson <rpeterso@redhat.com>
Date2016-01-26 20:10 +0100
SubjectRe: [PATCH] gfs2: avoid uninitialized variable warning
Message-ID<qVha2-8N-13@gated-at.bofh.it>
In reply to#1316831
----- Original Message -----
> We get a bogus warning about a potential uninitialized variable
> use in gfs2, because the compiler does not figure out that we
> never use the leaf number if get_leaf_nr() returns an error:
> 
> fs/gfs2/dir.c: In function 'get_first_leaf':
> fs/gfs2/dir.c:802:9: warning: 'leaf_no' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> fs/gfs2/dir.c: In function 'dir_split_leaf':
> fs/gfs2/dir.c:1021:8: warning: 'leaf_no' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> 
> Changing the 'if (!error)' to 'if (!IS_ERR_VALUE(error))' is
> sufficient to let gcc understand that this is exactly the same
> condition as in IS_ERR() so it can optimize the code path enough
> to understand it.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  fs/gfs2/dir.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
> index 6a92592304fb..d4014af4f064 100644
> --- a/fs/gfs2/dir.c
> +++ b/fs/gfs2/dir.c
> @@ -798,7 +798,7 @@ static int get_first_leaf(struct gfs2_inode *dip, u32
> index,
>  	int error;
>  
>  	error = get_leaf_nr(dip, index, &leaf_no);
> -	if (!error)
> +	if (!IS_ERR_VALUE(error))
>  		error = get_leaf(dip, leaf_no, bh_out);
>  
>  	return error;
> @@ -1014,7 +1014,7 @@ static int dir_split_leaf(struct inode *inode, const
> struct qstr *name)
>  
>  	index = name->hash >> (32 - dip->i_depth);
>  	error = get_leaf_nr(dip, index, &leaf_no);
> -	if (error)
> +	if (IS_ERR_VALUE(error))
>  		return error;
>  
>  	/*  Get the old leaf block  */
> --
> 2.7.0
> 
> 
Hi,

Thanks. This is now applied to the for-next branch of the linux-gfs2 tree:
https://git.kernel.org/cgit/linux/kernel/git/gfs2/linux-gfs2.git/commit/fs/gfs2?h=for-next&id=07cfdc3071432a07713e4d007c2811e0224490b0

Regards,

Bob Peterson
Red Hat File Systems

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web