Re: [PATCH] mm: cleanup balance_dirty_pages() that leave variables uninitialized

From: Jan Kara
Date: Mon Oct 12 2015 - 08:58:46 EST


On Mon 12-10-15 20:24:58, Liao Tonglang wrote:
> Variables m_thresh and m_dirty in function balance_dirty_pages() may use
> uninitialized. GCC throws a warning on it. Fixed by assigned to 0 as
> initial value.

The code is correct - m_dirty & m_thresh gets set & used only if mdtc is
set. So the warning is false positive (and e.g. my gcc doesn't warn). What
gcc version are you using?

Honza

>
> Signed-off-by: Liao Tonglang <liaotonglang@xxxxxxxxx>
> ---
> mm/page-writeback.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 0a931cd..288db45 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -1534,7 +1534,7 @@ static void balance_dirty_pages(struct address_space *mapping,
> for (;;) {
> unsigned long now = jiffies;
> unsigned long dirty, thresh, bg_thresh;
> - unsigned long m_dirty, m_thresh, m_bg_thresh;
> + unsigned long m_dirty = 0, m_thresh = 0, m_bg_thresh;
>
> /*
> * Unstable writes are a feature of certain networked
> --
> 1.8.3.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/