Messages in this thread | | | Subject | Re: [PATCH] mm, compaction: avoid uninitialized variable use | From | Vlastimil Babka <> | Date | Thu, 12 May 2016 14:00:18 +0200 |
| |
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 <mhocko@suse.com> > 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 <arnd@arndb.de> > Signed-off-by: Michal Hocko <mhocko@suse.com>
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; > } > >
| |