Re: [PATCH v4 1/9] mm/swap: fix uninitialized compiler warning

From: Johannes Weiner
Date: Tue Nov 19 2019 - 10:41:42 EST


On Tue, Nov 19, 2019 at 08:23:15PM +0800, Alex Shi wrote:
> ../mm/swap.c: In function â__page_cache_releaseâ:
> ../mm/swap.c:67:10: warning: âflagsâ may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> lruvec = lock_page_lruvec_irqsave(page, pgdat, flags);
> ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

At this point in the series, there is no lock_page_lruvec_irqsave()
yet, so this patch is out of order. Please don't do that. It's very
hard to review patches that depend on later changes to make sense.

> Signed-off-by: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> mm/swap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/swap.c b/mm/swap.c
> index 5341ae93861f..c36a10244d07 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -62,7 +62,7 @@ static void __page_cache_release(struct page *page)
> if (PageLRU(page)) {
> pg_data_t *pgdat = page_pgdat(page);
> struct lruvec *lruvec;
> - unsigned long flags;
> + unsigned long flags = 0;

Use unintialized_var() for these cases to make the intent clear.