From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752505AbaAQVHn (ORCPT ); Fri, 17 Jan 2014 16:07:43 -0500 Received: from mail-vb0-f54.google.com ([209.85.212.54]:59129 "EHLO mail-vb0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751527AbaAQVHk (ORCPT ); Fri, 17 Jan 2014 16:07:40 -0500 MIME-Version: 1.0 In-Reply-To: <52D98DAD.9090501@hp.com> References: <20140110200603.GJ7572@laptop.programming.kicks-ass.net> <52D971FE.9030008@hp.com> <52D98DAD.9090501@hp.com> From: Andy Lutomirski Date: Fri, 17 Jan 2014 13:07:20 -0800 Message-ID: Subject: Re: [tip:perf/core] x86, mm, perf: Allow recursive faults from interrupts To: Waiman Long Cc: Ingo Molnar , "H. Peter Anvin" , "linux-kernel@vger.kernel.org" , Linus Torvalds , Peter Zijlstra , Arnaldo Carvalho de Melo , Andrew Morton , Thomas Gleixner , Scott J Norton , Aswin Chandramouleeswaran , tip-bot for Peter Zijlstra , linux-tip-commits@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 17, 2014 at 12:08 PM, Waiman Long wrote: > On 01/17/2014 02:17 PM, Andy Lutomirski wrote: >> >> On Fri, Jan 17, 2014 at 10:10 AM, Waiman Long wrote: >>> >>> On 01/16/2014 08:39 AM, tip-bot for Peter Zijlstra wrote: >>>> >>>> Commit-ID: c026b3591e4f2a4993df773183704bb31634e0bd >>>> Gitweb: >>>> http://git.kernel.org/tip/c026b3591e4f2a4993df773183704bb31634e0bd >>>> Author: Peter Zijlstra >>>> AuthorDate: Fri, 10 Jan 2014 21:06:03 +0100 >>>> Committer: Ingo Molnar >>>> CommitDate: Thu, 16 Jan 2014 09:19:48 +0100 >>>> >>>> x86, mm, perf: Allow recursive faults from interrupts >>>> >>>> Waiman managed to trigger a PMI while in a emulate_vsyscall() fault, >>>> the PMI in turn managed to trigger a fault while obtaining a stack >>>> trace. This triggered the sig_on_uaccess_error recursive fault logic >>>> and killed the process dead. >>>> >>>> Fix this by explicitly excluding interrupts from the recursive fault >>>> logic. >>>> >>>> Reported-and-Tested-by: Waiman Long >>>> Fixes: e00b12e64be9 ("perf/x86: Further optimize copy_from_user_nmi()") >>>> Cc: Aswin Chandramouleeswaran >>>> Cc: Scott J Norton >>>> Cc: Linus Torvalds >>>> Cc: Andy Lutomirski >>>> Cc: Arnaldo Carvalho de Melo >>>> Cc: Andrew Morton >>>> Signed-off-by: Peter Zijlstra >>>> Link: >>>> >>>> http://lkml.kernel.org/r/20140110200603.GJ7572@laptop.programming.kicks-ass.net >>>> Signed-off-by: Ingo Molnar >>>> --- >>>> arch/x86/mm/fault.c | 18 ++++++++++++++++++ >>>> 1 file changed, 18 insertions(+) >>>> >>>> >>> Will that be picked up by Linus as it is a 3.13 regression? >> >> Does anyone actually know why this regressed recently? The buggy code >> has been there for quite a while. >> >> --Andy > > > Yes, the bug was there for a while, but a recent change by Peter (see the > "Fixes:" line above) made it much easier to hit it. Thanks! So I feel slightly better now -- this particular bug didn't actually exist when I wrote the offending code :) But that also means that this should really be fixed in 3.13. --Andy