From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934287AbbLWVas (ORCPT ); Wed, 23 Dec 2015 16:30:48 -0500 Received: from mga01.intel.com ([192.55.52.88]:30862 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751462AbbLWVaq (ORCPT ); Wed, 23 Dec 2015 16:30:46 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,470,1444719600"; d="scan'208";a="713728925" From: Ross Zwisler To: Linus Torvalds , Tejun Heo Cc: Ross Zwisler , Li Zefan , Daniel Wagner , Johannes Weiner , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Dave Jones , kernel-team@fb.com, Aleksa Sarai , Michal Hocko , Ingo Molnar , Peter Zijlstra , Neil Horman Subject: [PATCH] cgroup: Fix uninitialized variable warning Date: Wed, 23 Dec 2015 14:30:40 -0700 Message-Id: <1450906240-21821-1-git-send-email-ross.zwisler@linux.intel.com> X-Mailer: git-send-email 2.6.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 1f7dd3e5a6e4 ("cgroup: fix handling of multi-destination migration from subtree_control enabling") introduced the following compiler warning: mm/memcontrol.c: In function ‘mem_cgroup_can_attach’: mm/memcontrol.c:4790:9: warning: ‘memcg’ may be used uninitialized in this function [-Wmaybe-uninitialized] mc.to = memcg; ^ Fix this by initializing 'memcg' to NULL and then verifying that it is set to a value before dereferencing it. Signed-off-by: Ross Zwisler --- This issue is present in v4.4-rc5 and later. --- mm/memcontrol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index e234c21..69a28b3 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4782,7 +4782,7 @@ static void mem_cgroup_clear_mc(void) static int mem_cgroup_can_attach(struct cgroup_taskset *tset) { struct cgroup_subsys_state *css; - struct mem_cgroup *memcg; + struct mem_cgroup *memcg = NULL; struct mem_cgroup *from; struct task_struct *leader, *p; struct mm_struct *mm; @@ -4805,7 +4805,7 @@ static int mem_cgroup_can_attach(struct cgroup_taskset *tset) p = leader; memcg = mem_cgroup_from_css(css); } - if (!p) + if (!p || !memcg) return 0; /* -- 2.6.3