2012-08-28 08:38:27

by Daniel Mack

[permalink] [raw]
Subject: [PATCH] fuse: mark variables uninitialized

gcc 4.6.3 complains about uninitialized variables in fs/fuse/control.c:

CC fs/fuse/control.o
fs/fuse/control.c: In function ‘fuse_conn_congestion_threshold_write’:
fs/fuse/control.c:165:29: warning: ‘val’ may be used uninitialized in this function [-Wuninitialized]
fs/fuse/control.c: In function ‘fuse_conn_max_background_write’:
fs/fuse/control.c:128:23: warning: ‘val’ may be used uninitialized in this function [-Wuninitialized]

fuse_conn_limit_write() will always return non-zero unless the &val
is modified, so the warning is misleading. Let the compiler know
about it by marking 'val' with 'uninitialized_var'.

Signed-off-by: Daniel Mack <[email protected]>
Cc: Brian Foster <[email protected]>
Cc: Miklos Szeredi <[email protected]>
---
fs/fuse/control.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/fuse/control.c b/fs/fuse/control.c
index 03ff5b1..75a20c0 100644
--- a/fs/fuse/control.c
+++ b/fs/fuse/control.c
@@ -117,7 +117,7 @@ static ssize_t fuse_conn_max_background_write(struct file *file,
const char __user *buf,
size_t count, loff_t *ppos)
{
- unsigned val;
+ unsigned uninitialized_var(val);
ssize_t ret;

ret = fuse_conn_limit_write(file, buf, count, ppos, &val,
@@ -154,7 +154,7 @@ static ssize_t fuse_conn_congestion_threshold_write(struct file *file,
const char __user *buf,
size_t count, loff_t *ppos)
{
- unsigned val;
+ unsigned uninitialized_var(val);
ssize_t ret;

ret = fuse_conn_limit_write(file, buf, count, ppos, &val,
--
1.7.11.4


2012-08-28 13:04:20

by Miklos Szeredi

[permalink] [raw]
Subject: Re: [PATCH] fuse: mark variables uninitialized

On Tue, 2012-08-28 at 10:38 +0200, Daniel Mack wrote:
> gcc 4.6.3 complains about uninitialized variables in fs/fuse/control.c:
>
> CC fs/fuse/control.o
> fs/fuse/control.c: In function ‘fuse_conn_congestion_threshold_write’:
> fs/fuse/control.c:165:29: warning: ‘val’ may be used uninitialized in this function [-Wuninitialized]
> fs/fuse/control.c: In function ‘fuse_conn_max_background_write’:
> fs/fuse/control.c:128:23: warning: ‘val’ may be used uninitialized in this function [-Wuninitialized]
>
> fuse_conn_limit_write() will always return non-zero unless the &val
> is modified, so the warning is misleading. Let the compiler know
> about it by marking 'val' with 'uninitialized_var'.

Thanks, applied.

Miklos