Re: [tip:perf/core] x86, mm, perf: Allow recursive faults from interrupts

From: Andy Lutomirski
Date: Fri Jan 17 2014 - 16:07:46 EST


On Fri, Jan 17, 2014 at 12:08 PM, Waiman Long <waiman.long@xxxxxx> wrote:
> On 01/17/2014 02:17 PM, Andy Lutomirski wrote:
>>
>> On Fri, Jan 17, 2014 at 10:10 AM, Waiman Long<waiman.long@xxxxxx> 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<peterz@xxxxxxxxxxxxx>
>>>> AuthorDate: Fri, 10 Jan 2014 21:06:03 +0100
>>>> Committer: Ingo Molnar<mingo@xxxxxxxxxx>
>>>> 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<waiman.long@xxxxxx>
>>>> Fixes: e00b12e64be9 ("perf/x86: Further optimize copy_from_user_nmi()")
>>>> Cc: Aswin Chandramouleeswaran<aswin@xxxxxx>
>>>> Cc: Scott J Norton<scott.norton@xxxxxx>
>>>> Cc: Linus Torvalds<torvalds@xxxxxxxxxxxxxxxxxxxx>
>>>> Cc: Andy Lutomirski<luto@xxxxxxxxxxxxxx>
>>>> Cc: Arnaldo Carvalho de Melo<acme@xxxxxxxxxxxxxxxxxx>
>>>> Cc: Andrew Morton<akpm@xxxxxxxxxxxxxxxxxxxx>
>>>> Signed-off-by: Peter Zijlstra<peterz@xxxxxxxxxxxxx>
>>>> Link:
>>>>
>>>> http://lkml.kernel.org/r/20140110200603.GJ7572@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>>>> Signed-off-by: Ingo Molnar<mingo@xxxxxxxxxx>
>>>> ---
>>>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/