Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754681AbbEUK62 (ORCPT ); Thu, 21 May 2015 06:58:28 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:36140 "EHLO mail-wi0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751702AbbEUK6Z (ORCPT ); Thu, 21 May 2015 06:58:25 -0400 Date: Thu, 21 May 2015 12:58:20 +0200 From: Ingo Molnar To: Maninder Singh Cc: "akpm@linux-foundation.org" , "oleg@redhat.com" , "mhocko@suse.cz" , "peterz@infradead.org" , "riel@redhat.com" , "ionut.m.alexa@gmail.com" , "peter@hurleysoftware.com" , "linux-kernel@vger.kernel.org" , Vaneet Narang , AKHILESH KUMAR , Peter Zijlstra Subject: Re: [EDT][PATCH] kernel/exit.c : Fix missing read_unlock Message-ID: <20150521105820.GB18282@gmail.com> References: <2047279741.513261432190052483.JavaMail.weblogic@ep2mlwas07b> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2047279741.513261432190052483.JavaMail.weblogic@ep2mlwas07b> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2487 Lines: 83 * Maninder Singh wrote: > EP-F6AA0618C49C4AEDA73BFF1B39950BAB > >> Hi, > >> > >> From: Maninder Singh > >> > >> Subject: [PATCH 1/1] kernel/exit.c : Fix missing task_unlock > >> > Subject: [PATCH 1/1] kernel/exit.c : Fix missing read_unlock > > >> This patch adds missing read_unlock if do_wait_thread or ptrace_do_wait > >> returns non zero. > > Reported By Prevent Under Missing unlock category(program hangs):- > missing_unlock: returning without unlocking tasklist_lock > >> > >> Signed-off-by: Maninder Singh > >> Signed-off-by: Vaneet Narang > >> Reviewd-by: Akhilesh Kumar > >> --- > >> kernel/exit.c | 8 ++++++-- > >> 1 files changed, 6 insertions(+), 2 deletions(-) > >> > >> diff --git a/kernel/exit.c b/kernel/exit.c > >> index 22fcc05..31a061f 100644 > >> --- a/kernel/exit.c > >> +++ b/kernel/exit.c > >> @@ -1486,12 +1486,16 @@ repeat: > >> tsk = current; > >> do { > >> retval = do_wait_thread(wo, tsk); > >> - if (retval) > >> + if (retval) { > >> + read_unlock(&tasklist_lock); > >> goto end; > >> + } > >> > >> retval = ptrace_do_wait(wo, tsk); > >> - if (retval) > >> + if (retval) { > >> + read_unlock(&tasklist_lock); > >> goto end; > >> + } > >> > >> if (wo->wo_flags & __WNOTHREAD) > >> break; > > > >That's surprising and the changelog is lacking. > > >So the last time that code was touched upstream was 7 years ago: > > > commit 64a16caf5e3417ee32f670debcb5857b02a9e08e > > Author: Oleg Nesterov > > Date: Wed Jun 17 16:27:40 2009 -0700 > > > do_wait: simplify retval/tsk_result/notask_error mess > > >please explain whether what you fix is: > > > 1) an ancient bug that somehow nobody ever triggered (plus analysis > > of why it wasn't triggered) > > > 2) a new bug introduced by commit XYZ (plus analysis) > > > 3) something else > > This issue is reported by Prevent Under category Missing Unlock, So > we think it should be reported to maintainers. Huh? In what way does your reply answer my questions? Your patch is breaking the kernel, and badly so. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/