Messages in this thread | | | Date | Thu, 21 May 2015 12:58:20 +0200 | From | Ingo Molnar <> | Subject | Re: [EDT][PATCH] kernel/exit.c : Fix missing read_unlock |
| |
* Maninder Singh <maninder1.s@samsung.com> wrote:
> EP-F6AA0618C49C4AEDA73BFF1B39950BAB > >> Hi, > >> > >> From: Maninder Singh <maninder1.s@samsung.com> > >> > >> 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 <maninder1.s@samsung.com> > >> Signed-off-by: Vaneet Narang <v.narang@samsung.com> > >> Reviewd-by: Akhilesh Kumar <akhilesh.k@samsung.com> > >> --- > >> 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 <oleg@redhat.com> > > 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
| |