Patchwork ubifs: Fix build warning

login
register
mail settings
Submitter Alexandre Pereira da Silva
Date June 25, 2012, 3:19 p.m.
Message ID <1340637580-12711-1-git-send-email-aletes.xgr@gmail.com>
Download mbox | patch
Permalink /patch/167138/
State New
Headers show

Comments

Alexandre Pereira da Silva - June 25, 2012, 3:19 p.m.
Fix:
fs/ubifs/dir.c: In function 'ubifs_rename':
fs/ubifs/dir.c:972:15: warning: 'saved_nlink' may be used uninitialized
in this function

Initilize saved_nlink to 0

Signed-off-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
---
 fs/ubifs/dir.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Randy.Dunlap - June 25, 2012, 4:15 p.m.
On 06/25/2012 08:19 AM, Alexandre Pereira da Silva wrote:

> Fix:
> fs/ubifs/dir.c: In function 'ubifs_rename':
> fs/ubifs/dir.c:972:15: warning: 'saved_nlink' may be used uninitialized
> in this function
> 
> Initilize saved_nlink to 0

Does nlink need to be init at all?  is the warning bogus or valid?

If the warning is bogus, the preferred solution is:

#include <linux/compiler-gcc.h>
...
	unsigned int uninitialized_var(nlink);


> Signed-off-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
> ---
>  fs/ubifs/dir.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
> index a6d42ef..d5b8cb1e 100644
> --- a/fs/ubifs/dir.c
> +++ b/fs/ubifs/dir.c
> @@ -969,7 +969,7 @@ static int ubifs_rename(struct inode *old_dir, struct dentry *old_dentry,
>  	struct ubifs_budget_req ino_req = { .dirtied_ino = 1,
>  			.dirtied_ino_d = ALIGN(old_inode_ui->data_len, 8) };
>  	struct timespec time;
> -	unsigned int saved_nlink;
> +	unsigned int saved_nlink = 0;
>  
>  	/*
>  	 * Budget request settings: deletion direntry, new direntry, removing
Alexandre Pereira da Silva - June 25, 2012, 6:23 p.m.
On Mon, Jun 25, 2012 at 1:15 PM, Randy Dunlap <rdunlap@xenotime.net> wrote:
> On 06/25/2012 08:19 AM, Alexandre Pereira da Silva wrote:
>
>> Fix:
>> fs/ubifs/dir.c: In function 'ubifs_rename':
>> fs/ubifs/dir.c:972:15: warning: 'saved_nlink' may be used uninitialized
>> in this function
>>
>> Initilize saved_nlink to 0
>
> Does nlink need to be init at all?  is the warning bogus or valid?

From the code, this is a bogus warning.

> If the warning is bogus, the preferred solution is:
>
> #include <linux/compiler-gcc.h>
> ...
>        unsigned int uninitialized_var(nlink);

I will fix the patch as suggested. Thanks.

Patch

diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index a6d42ef..d5b8cb1e 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -969,7 +969,7 @@  static int ubifs_rename(struct inode *old_dir, struct dentry *old_dentry,
 	struct ubifs_budget_req ino_req = { .dirtied_ino = 1,
 			.dirtied_ino_d = ALIGN(old_inode_ui->data_len, 8) };
 	struct timespec time;
-	unsigned int saved_nlink;
+	unsigned int saved_nlink = 0;
 
 	/*
 	 * Budget request settings: deletion direntry, new direntry, removing