diff mbox series

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

Message ID 1574166203-151975-2-git-send-email-alex.shi@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series per lruvec lru_lock for memcg | expand

Commit Message

Alex Shi Nov. 19, 2019, 12:23 p.m. UTC
../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);
       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
---
 mm/swap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Johannes Weiner Nov. 19, 2019, 3:41 p.m. UTC | #1
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@linux.alibaba.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  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.
Alex Shi Nov. 20, 2019, 11:42 a.m. UTC | #2
在 2019/11/19 下午11:41, Johannes Weiner 写道:
> 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.
> 

Sorry, I will be more careful on this.

>> Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: linux-mm@kvack.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>>  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.

Thanks for suggestion!
diff mbox series

Patch

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;
 
 		spin_lock_irqsave(&pgdat->lru_lock, flags);
 		lruvec = mem_cgroup_page_lruvec(page, pgdat);