lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 12 May 2016 08:16:36 +0200
From:	Michal Hocko <mhocko@...nel.org>
To:	Arnd Bergmann <arnd@...db.de>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Mel Gorman <mgorman@...hsingularity.net>,
	Vlastimil Babka <vbabka@...e.cz>,
	David Rientjes <rientjes@...gle.com>,
	Joonsoo Kim <iamjoonsoo.kim@....com>,
	Taku Izumi <izumi.taku@...fujitsu.com>,
	Johannes Weiner <hannes@...xchg.org>, linux-mm@...ck.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm, compaction: avoid uninitialized variable use

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@...e.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@...db.de>
Signed-off-by: Michal Hocko <mhocko@...e.com>
---
 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;
 }
 
-- 
2.8.1

-- 
Michal Hocko
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ