From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752672AbcELMAZ (ORCPT ); Thu, 12 May 2016 08:00:25 -0400 Received: from mx2.suse.de ([195.135.220.15]:55190 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751781AbcELMAY (ORCPT ); Thu, 12 May 2016 08:00:24 -0400 Subject: Re: [PATCH] mm, compaction: avoid uninitialized variable use To: Michal Hocko , Arnd Bergmann References: <1462973126-1183468-1-git-send-email-arnd@arndb.de> <20160512061636.GA4200@dhcp22.suse.cz> Cc: Andrew Morton , Mel Gorman , David Rientjes , Joonsoo Kim , Taku Izumi , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org From: Vlastimil Babka Message-ID: <57347052.7030307@suse.cz> Date: Thu, 12 May 2016 14:00:18 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <20160512061636.GA4200@dhcp22.suse.cz> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/12/2016 08:16 AM, Michal Hocko wrote: > I think this would be slightly better than your proposal. Andrew, could > you fold it into the original > mm-compaction-simplify-__alloc_pages_direct_compact-feedback-interface.patch > patch? > --- > From 434bc8b6f3787724327499998c4fe651e8ce5d68 Mon Sep 17 00:00:00 2001 > From: Michal Hocko > Date: Thu, 12 May 2016 08:10:33 +0200 > Subject: [PATCH] mmotm: > mm-compaction-simplify-__alloc_pages_direct_compact-feedback-interface-fix > > Arnd has reported the following compilation warning: > mm/page_alloc.c: In function '__alloc_pages_nodemask': > mm/page_alloc.c:3651:6: error: 'compact_result' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > This should be a false positive TRANSPARENT_HUGEPAGE depends on COMPACTION > so is_thp_gfp_mask shouldn't be true. GFP_TRANSHUGE is a bit tricky > and somebody might be using this accidently. Make sure that compact_result > is defined also for !CONFIG_COMPACT and set it to COMPACT_SKIPPED because > the compaction was really withdrawn. > > Reported-by: Arnd Bergmann > Signed-off-by: Michal Hocko Ack. > --- > mm/page_alloc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 4950d01ff935..0d9008042efa 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -3300,6 +3300,7 @@ __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order, > unsigned int alloc_flags, const struct alloc_context *ac, > enum migrate_mode mode, enum compact_result *compact_result) > { > + *compact_result = COMPACT_SKIPPED; > return NULL; > } > >