From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932624AbcHKHy6 (ORCPT ); Thu, 11 Aug 2016 03:54:58 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34196 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932547AbcHKHyx (ORCPT ); Thu, 11 Aug 2016 03:54:53 -0400 Date: Thu, 11 Aug 2016 09:54:51 +0200 From: Michal Hocko To: Geert Uytterhoeven Cc: Andrew Morton , Oleg Nesterov , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH/RFC] mm, oom: Fix uninitialized ret in task_will_free_mem() Message-ID: <20160811075451.GA6908@dhcp22.suse.cz> References: <1470255599-24841-1-git-send-email-geert@linux-m68k.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1470255599-24841-1-git-send-email-geert@linux-m68k.org> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 03-08-16 22:19:59, Geert Uytterhoeven wrote: > mm/oom_kill.c: In function ‘task_will_free_mem’: > mm/oom_kill.c:767: warning: ‘ret’ may be used uninitialized in this function > > If __task_will_free_mem() is never called inside the for_each_process() > loop, ret will not be initialized. > > Fixes: 1af8bb43269563e4 ("mm, oom: fortify task_will_free_mem()") > Signed-off-by: Geert Uytterhoeven Acked-by: Michal Hocko Thanks for catching that! > --- > Untested. I'm not familiar with the code, hence the default value of > true was deducted from the logic in the loop (return false as soon as > __task_will_free_mem() has returned false). > --- > mm/oom_kill.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index 7d0a275df822e9e1..d53a9aa00977cbd0 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -764,7 +764,7 @@ bool task_will_free_mem(struct task_struct *task) > { > struct mm_struct *mm = task->mm; > struct task_struct *p; > - bool ret; > + bool ret = true; > > /* > * Skip tasks without mm because it might have passed its exit_mm and > -- > 1.9.1 > -- Michal Hocko SUSE Labs