Messages in this thread Patch in this message | | | From | trix@redhat ... | Subject | [PATCH] nilfs2: move initialization of nr_dirty to decl | Date | Thu, 17 Mar 2022 10:50:43 -0700 |
| |
From: Tom Rix <trix@redhat.com>
On clang build there is this error inode.c:227:13: error: variable 'nr_dirty' is used uninitialized whenever 'if' condition is false } else if (ret) { ^~~
In nilfs_dirty_folio(), if the call to filemap_dirty_folio() fails and there are no buffers, nr_dirty will be uninitialized. Move the initialization out of the buffer block and to the decl.
Signed-off-by: Tom Rix <trix@redhat.com> --- fs/nilfs2/inode.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index c1219c0678a57..01e58b65c9384 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c @@ -204,7 +204,7 @@ static bool nilfs_dirty_folio(struct address_space *mapping, { struct inode *inode = mapping->host; struct buffer_head *head; - unsigned int nr_dirty; + unsigned int nr_dirty = 0; bool ret = filemap_dirty_folio(mapping, folio); /* @@ -214,8 +214,6 @@ static bool nilfs_dirty_folio(struct address_space *mapping, head = folio_buffers(folio); if (head) { struct buffer_head *bh = head; - - nr_dirty = 0; do { /* Do not mark hole blocks dirty */ if (buffer_dirty(bh) || !buffer_mapped(bh)) -- 2.26.3
| |