* [PATCH] btrfs: fix a compiler warning of may be used uninitialized
@ 2015-09-02 7:19 Zhao Lei
2015-09-29 14:21 ` David Sterba
0 siblings, 1 reply; 5+ messages in thread
From: Zhao Lei @ 2015-09-02 7:19 UTC (permalink / raw)
To: linux-btrfs; +Cc: Zhao Lei
Not real problem, just avoid warning of:
fs/btrfs/inode-map.c: In function 'btrfs_unpin_free_ino':
fs/btrfs/inode-map.c:252: warning: 'count' may be used uninitialized in this function
In gcc 4.8.3
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
---
fs/btrfs/inode-map.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c
index d4a582a..e094e3b 100644
--- a/fs/btrfs/inode-map.c
+++ b/fs/btrfs/inode-map.c
@@ -249,7 +249,7 @@ void btrfs_unpin_free_ino(struct btrfs_root *root)
spinlock_t *rbroot_lock = &root->free_ino_pinned->tree_lock;
struct btrfs_free_space *info;
struct rb_node *n;
- u64 count;
+ u64 count = 0;
if (!btrfs_test_opt(root, INODE_MAP_CACHE))
return;
--
1.8.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] btrfs: fix a compiler warning of may be used uninitialized
2015-09-02 7:19 [PATCH] btrfs: fix a compiler warning of may be used uninitialized Zhao Lei
@ 2015-09-29 14:21 ` David Sterba
2015-09-30 3:55 ` Zhao Lei
0 siblings, 1 reply; 5+ messages in thread
From: David Sterba @ 2015-09-29 14:21 UTC (permalink / raw)
To: Zhao Lei; +Cc: linux-btrfs
On Wed, Sep 02, 2015 at 03:19:59PM +0800, Zhao Lei wrote:
> Not real problem, just avoid warning of:
> fs/btrfs/inode-map.c: In function 'btrfs_unpin_free_ino':
> fs/btrfs/inode-map.c:252: warning: 'count' may be used uninitialized in this function
> In gcc 4.8.3
>
> Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
> ---
> fs/btrfs/inode-map.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c
> index d4a582a..e094e3b 100644
> --- a/fs/btrfs/inode-map.c
> +++ b/fs/btrfs/inode-map.c
> @@ -249,7 +249,7 @@ void btrfs_unpin_free_ino(struct btrfs_root *root)
> spinlock_t *rbroot_lock = &root->free_ino_pinned->tree_lock;
> struct btrfs_free_space *info;
> struct rb_node *n;
> - u64 count;
> + u64 count = 0;
AFAICS the codepath that would use uninitialized value of count is not
reachable:
add_to_ctl = true
270 if (info->offset > root->ino_cache_progress)
271 add_to_ctl = false;
272 else if (info->offset + info->bytes > root->ino_cache_progress)
273 count = root->ino_cache_progress - info->offset + 1;
274 else
275 count = info->bytes;
276
277 rb_erase(&info->offset_index, rbroot);
278 spin_unlock(rbroot_lock);
279 if (add_to_ctl)
280 __btrfs_add_free_space(ctl, info->offset, count);
count is defined iff add_to_ctl == true, so the patch is not necessary. And I'm
not quite sure that 0 passed down to __btrfs_add_free_space as 'bytes' makes
sense at all.
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH] btrfs: fix a compiler warning of may be used uninitialized
2015-09-29 14:21 ` David Sterba
@ 2015-09-30 3:55 ` Zhao Lei
2015-09-30 8:18 ` Holger Hoffstätte
2015-09-30 14:58 ` David Sterba
0 siblings, 2 replies; 5+ messages in thread
From: Zhao Lei @ 2015-09-30 3:55 UTC (permalink / raw)
To: dsterba; +Cc: linux-btrfs
Hi, David Sterba
Thanks for reviewing.
> -----Original Message-----
> From: David Sterba [mailto:dsterba@suse.cz]
> Sent: Tuesday, September 29, 2015 10:22 PM
> To: Zhao Lei <zhaolei@cn.fujitsu.com>
> Cc: linux-btrfs@vger.kernel.org
> Subject: Re: [PATCH] btrfs: fix a compiler warning of may be used uninitialized
>
> On Wed, Sep 02, 2015 at 03:19:59PM +0800, Zhao Lei wrote:
> > Not real problem, just avoid warning of:
> > fs/btrfs/inode-map.c: In function 'btrfs_unpin_free_ino':
> > fs/btrfs/inode-map.c:252: warning: 'count' may be used uninitialized
> > in this function In gcc 4.8.3
> >
> > Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
> > ---
> > fs/btrfs/inode-map.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c index
> > d4a582a..e094e3b 100644
> > --- a/fs/btrfs/inode-map.c
> > +++ b/fs/btrfs/inode-map.c
> > @@ -249,7 +249,7 @@ void btrfs_unpin_free_ino(struct btrfs_root *root)
> > spinlock_t *rbroot_lock = &root->free_ino_pinned->tree_lock;
> > struct btrfs_free_space *info;
> > struct rb_node *n;
> > - u64 count;
> > + u64 count = 0;
>
> AFAICS the codepath that would use uninitialized value of count is not
> reachable:
>
> add_to_ctl = true
>
> 270 if (info->offset > root->ino_cache_progress)
> 271 add_to_ctl = false;
> 272 else if (info->offset + info->bytes >
> root->ino_cache_progress)
> 273 count = root->ino_cache_progress -
> info->offset + 1;
> 274 else
> 275 count = info->bytes;
> 276
> 277 rb_erase(&info->offset_index, rbroot);
> 278 spin_unlock(rbroot_lock);
> 279 if (add_to_ctl)
> 280 __btrfs_add_free_space(ctl, info->offset,
> count);
>
> count is defined iff add_to_ctl == true, so the patch is not necessary. And I'm
> not quite sure that 0 passed down to __btrfs_add_free_space as 'bytes' makes
> sense at all.
Agree above all.
So I write following description in changelog:
"Not real problem, just avoid warning of: ..."
It is just to avoid complier warning, no function changed.
A warning in compiler output is not pretty:)
Thanks
Zhaolei
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] btrfs: fix a compiler warning of may be used uninitialized
2015-09-30 3:55 ` Zhao Lei
@ 2015-09-30 8:18 ` Holger Hoffstätte
2015-09-30 14:58 ` David Sterba
1 sibling, 0 replies; 5+ messages in thread
From: Holger Hoffstätte @ 2015-09-30 8:18 UTC (permalink / raw)
To: Zhao Lei, dsterba; +Cc: linux-btrfs
On 09/30/15 05:55, Zhao Lei wrote:
>> count is defined iff add_to_ctl == true, so the patch is not necessary. And I'm
>> not quite sure that 0 passed down to __btrfs_add_free_space as 'bytes' makes
>> sense at all.
>
> Agree above all.
>
> So I write following description in changelog:
> "Not real problem, just avoid warning of: ..."
>
> It is just to avoid complier warning, no function changed.
> A warning in compiler output is not pretty:)
This looks more like a false-positive with gcc 4.8.3.
With 5.2:
..
CC [M] fs/btrfs/file-item.o
CC [M] fs/btrfs/inode-item.o
CC [M] fs/btrfs/inode-map.o
CC [M] fs/btrfs/disk-io.o
CC [M] fs/btrfs/transaction.o
..
No warning, as expected.
-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] btrfs: fix a compiler warning of may be used uninitialized
2015-09-30 3:55 ` Zhao Lei
2015-09-30 8:18 ` Holger Hoffstätte
@ 2015-09-30 14:58 ` David Sterba
1 sibling, 0 replies; 5+ messages in thread
From: David Sterba @ 2015-09-30 14:58 UTC (permalink / raw)
To: Zhao Lei; +Cc: linux-btrfs
On Wed, Sep 30, 2015 at 11:55:13AM +0800, Zhao Lei wrote:
> > AFAICS the codepath that would use uninitialized value of count is not
> > reachable:
> >
> > add_to_ctl = true
> >
> > 270 if (info->offset > root->ino_cache_progress)
> > 271 add_to_ctl = false;
> > 272 else if (info->offset + info->bytes >
> > root->ino_cache_progress)
> > 273 count = root->ino_cache_progress -
> > info->offset + 1;
> > 274 else
> > 275 count = info->bytes;
> > 276
> > 277 rb_erase(&info->offset_index, rbroot);
> > 278 spin_unlock(rbroot_lock);
> > 279 if (add_to_ctl)
> > 280 __btrfs_add_free_space(ctl, info->offset,
> > count);
> >
> > count is defined iff add_to_ctl == true, so the patch is not necessary. And I'm
> > not quite sure that 0 passed down to __btrfs_add_free_space as 'bytes' makes
> > sense at all.
>
> Agree above all.
>
> So I write following description in changelog:
> "Not real problem, just avoid warning of: ..."
>
> It is just to avoid complier warning, no function changed.
> A warning in compiler output is not pretty:)
And the compiler is wrong in this case, the code is fine as is. I'd say
go fix you compiler and the output will be pretty :) No really, this
kind of fixes brings false sense of "fixing something in the code".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-09-30 14:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-02 7:19 [PATCH] btrfs: fix a compiler warning of may be used uninitialized Zhao Lei
2015-09-29 14:21 ` David Sterba
2015-09-30 3:55 ` Zhao Lei
2015-09-30 8:18 ` Holger Hoffstätte
2015-09-30 14:58 ` David Sterba
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).