Subject: [PATCH] ubifs: Fix build warning

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 <[email protected]>
---
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
--
1.7.10


2012-06-25 16:15:53

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] ubifs: Fix build warning

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 <[email protected]>
> ---
> 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



--
~Randy

Subject: Re: [PATCH] ubifs: Fix build warning

On Mon, Jun 25, 2012 at 1:15 PM, Randy Dunlap <[email protected]> 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.