Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755857AbbFCUHo (ORCPT ); Wed, 3 Jun 2015 16:07:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57017 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755774AbbFCUHf (ORCPT ); Wed, 3 Jun 2015 16:07:35 -0400 Message-ID: <556F5E86.3050102@redhat.com> Date: Wed, 03 Jun 2015 13:07:34 -0700 From: Josh Stone User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Russell King CC: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH 4.0 108/148] ARM: fix missing syscall trace exit References: <20150603114205.337615117@linuxfoundation.org> <20150603114210.079744225@linuxfoundation.org> In-Reply-To: <20150603114210.079744225@linuxfoundation.org> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1825 Lines: 51 On 06/03/2015 05:09 AM, Greg Kroah-Hartman wrote: > 4.0-stable review patch. If anyone has any objections, please let me know. I sent a copycat patch for arm64, but I think it may be a problem to leave interrupts disabled for __sys_trace_return. Thoughts, Russell? > ------------------ > > From: Russell King > > commit 1b97937246d8b97c0760d16d8992c7937bdf5e6a upstream. > > Josh Stone reports: > > I've discovered a case where both arm and arm64 will miss a ptrace > syscall-exit that they should report. If the syscall is entered > without TIF_SYSCALL_TRACE set, then it goes on the fast path. It's > then possible to have TIF_SYSCALL_TRACE added in the middle of the > syscall, but ret_fast_syscall doesn't check this flag again. > > Fix this by always checking for a syscall trace in the fast exit path. > > Reported-by: Josh Stone > Signed-off-by: Russell King > Signed-off-by: Greg Kroah-Hartman > > --- > arch/arm/kernel/entry-common.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > --- a/arch/arm/kernel/entry-common.S > +++ b/arch/arm/kernel/entry-common.S > @@ -33,7 +33,9 @@ ret_fast_syscall: > UNWIND(.fnstart ) > UNWIND(.cantunwind ) > disable_irq @ disable interrupts > - ldr r1, [tsk, #TI_FLAGS] > + ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing > + tst r1, #_TIF_SYSCALL_WORK > + bne __sys_trace_return > tst r1, #_TIF_WORK_MASK > bne fast_work_pending > asm_trace_hardirqs_on > > -- 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/